平方和
Posted esther6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了平方和相关的知识,希望对你有一定的参考价值。
描述
输入一个int范围内的正整数n,现在请你计算一下,n最少可以由多少个正整数的平方数累加得到,例如10=1^2+3^2(2个),16=4^2(1个)。
输入
输入一个正整数n。
输出
输出n最少可以由多少个正整数的平方数累加得到。
输入样例 1
10
输出样例 1
2
输入样例 2
16
输出样例 2
1
1 #include <bits/stdc++.h> 2 #define sd(a) scanf("%d",&a) 3 using namespace std; 4 int dp[40000]; 5 int main() 6 { 7 int n; 8 sd(n); 9 dp[0]=0; 10 for(int i=1;i<=n;i++) 11 { 12 dp[i]=dp[i-1]+1; 13 for(int j=2;j*j<=i;j++){ 14 dp[i]=min(dp[i],dp[i-j*j]+1); 15 } 16 17 } 18 cout<<dp[n]; 19 return 0; 20 }
以上是关于平方和的主要内容,如果未能解决你的问题,请参考以下文章