第23828题 程序题
计算拆分正整数n为完全平方数之和的最少数量

题面描述

小杨有一个正整数n,想将它拆分成若干完全平方数的和,同时希望拆分的数量越少越好,请你编写程序计算出总和为n的完全平方数的最少数量。

输入格式

第一行包含一个正整数n,含义如题面所示。

输出格式

输出一个整数,代表总和为n的完全平方数的最少数量。

样例1

输入:18 输出:2 解释:18 = 9 + 9 = 16 + 1 + 1,其中最少需要2个完全平方数。

数据范围

子任务编号 数据点占比 n范围
1 20% ≤ 20
2 40% ≤ 1000
3 40% ≤ 10^5

全部数据保证 1 ≤ n ≤ 10^5。

编辑模式