目的是计算 12+22+...+nx<=1000时 n的最大值,但是这样算法下去,会比正确值多2,请问是哪里出问题了呢?
#include
using namespace std;
int main()
{
int n,b,c=0;
for(n=1;c<=1000;n++)
{
b=n*10+2;
c+=b;
}
cout<<n<<endl;
system("pause");
return 0;
}
目的是计算 12+22+...+nx<=1000时 n的最大值,但是这样算法下去,会比正确值多2,请问是哪里出问题了呢?
#include
using namespace std;
int main()
{
int n,b,c=0;
for(n=1;c<=1000;n++)
{
b=n*10+2;
c+=b;
}
cout<<n<<endl;
system("pause");
return 0;
}
for(n=1;c<=1000;n++)
{
b=n*10+2;
c+=b;
}
->
n=1;
while (1)
{
b=n*10+2;
if (c+b<=1000)
c+=b;
else break;
n++;
}