n若太大则会溢出....lz莫非想要高精度算法?
http://baike.baidu.com/view/758035.htm
int n=1;
int k=0;
int sum=0;
cin >> k;//最大的n
while(sum<=2000 && n <= k)
{
sum+=n*n;
n++;
}
cout << k;//这就是刚刚大于2000的n
你若想要sum无限制的,就把sum<=2000 &&去掉即可
int i;
int sum=0;
while(sum<=2000){
sum+=i*i;
}
//输出就行了,不知道你用的什么语言。。。
用VB6给你写了一个
Private Sub Command1_Click()
Dim n As Integer, s As Integer
s = 0
Do While s <= 2000
s = s + n ^ 2
n = n + 1
Loop
Print n - 1
End Sub
C#写 代码如下:
int n=1;
int sum=0;
while(sum<2000)
{
sum=sum+n*n;
n=n+1;
}
text1.text=n.tostring();