Problem11060--[GESP六级] [202409]小杨和整数拆分

11060: [GESP六级] [202409]小杨和整数拆分

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

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$。

Sample 1 Input

18

Sample 1 Output

2
$18=9+9=16+1+1$,其中最少需要 $2$ 个完全平方数。

Source/Category