vc++编程

来源:百度知道 编辑:UC知道 时间:2024/05/10 12:49:18
编写一个程序,求满足如下条件的最大的n:
12+22+32+……n2≤1000

可求解方程 设n
(1*10 + 2*10 + 3*10 +…+ n*10 ) + (n*2)<= 1000
=> 10* n(n+1)/2 + 2*n <=1000
=> 5*n^2 + 7*n - 1000 <=0
=> n<=(-7 + sqrt(7^2 - 4*5*(-1000)))/10

所以,最优化的方法就是
n = int((-7 + sqrt(7^2 - 4*5*(-1000)))/10);

int i,m=0;
for(i=1;;i++)
{m=m+(i*10+2);
if(m>1000)break;}
n--;