11060: [GESP六级] [202409]小杨和整数拆分
[Creator : ]
Description
小杨有一个正整数 ,小杨想将它拆分成若干完全平方数的和,同时小杨希望拆分的数量越少越好。
小杨请你编写程序计算出总和为 的完全平方数的最少数量。
小杨请你编写程序计算出总和为 的完全平方数的最少数量。
Input
第一行包含一个正整数 $n$,含义如题面所示。
Output
输出一个整数,代表总和为 $n$ 的完全平方数的最少数量。
Constraints
$20\%$ 的数据,$n \leq 20$。
$40\%$ 的数据,$n \leq 10^3$。
$40\%$ 的数据,$n \leq 10^5$。
保证全部数据 $1 \leq n \leq 10^5$。
$40\%$ 的数据,$n \leq 10^3$。
$40\%$ 的数据,$n \leq 10^5$。
保证全部数据 $1 \leq n \leq 10^5$。
Sample 1 Input
18
Sample 1 Output
2
$18=9+9=16+1+1$,其中最少需要 $2$ 个完全平方数。