码迷,mamicode.com
首页 > 其他好文 > 详细

平方和

时间:2019-04-15 23:02:35      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:一个   输出   正整数   space   pre   class   input   turn   namespace   

描述

 

输入一个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 }

 

平方和

标签:一个   输出   正整数   space   pre   class   input   turn   namespace   

原文地址:https://www.cnblogs.com/esther6/p/10713883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!