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

{{ option.label }}
子题{{ index + 1 }} {{ child.type_label }}
{{ option.label }}
✓ 正确 ◐ 部分正确 ✗ 错误
编辑模式
程序运行统计
暂无判题统计
提交{{ questionInfo.stats ? questionInfo.stats.submit_count : 0 }}次 正确率{{ statsAccuracy }}%
答案解析