C++新手写一道验证题:n的三次方能写成任意连续奇数和,碰到了点循环的问题
int main() {
int n = 0,s=0;
cout << "给我一个自然数:" << endl;
cin >> n;
for (int i = 1,j=1; ; i++)
{
for (;s<=n*n*n; j++)
{
s = (i + j - 1) * j;
cout <<s<<endl;//停不下来
if (s == n * n * n)
break;
}
if (s == n * n * n){
for (int m=i;m<=i + 2 * (j - 1);m+=2)
{
cout << m<<" ";
}
break;
}
s = 0, j = 1;
}
return 0;
}
这是我第一次写的代码,几天后再看我觉得
```c++
if (s == n * n * n)
break;
可以删掉,因为在e2那已经有个限制条件了,结果发现这样就停不下来了。
还有一个问题就是我将第一个内置for循环写成这种形式也是无限循环
for (int s=0;s<=n*n*n; j++)
想问一下各位是哪里出了问题