gpt4 book ai didi

C++无限和代码挂了?冷冻?我不知道

转载 作者:行者123 更新时间:2023-11-28 00:45:33 25 4
gpt4 key购买 nike

好的,所以我正在尝试使用 for 循环而不是 while 循环来计算无限总和,该死的代码不起作用,我不确定为什么。我得到了两个“我到了这里”的一次,然后什么都没有。 :\

有谁知道为什么我的代码不工作并且看起来像死机或挂起?循环应该以我制作它们的方式结束,对吧? 这是当前的问题代码

        check=0;
cerr << "I got here" << endl;
for (int m=1;m<m+1;m++)
{
cerr << "I got here" << endl;
for (int n=1;n<n+1;n++)
{
if (check==0)
{
anaPhi[i][j][k]=1.0/(m*m*m*n*n*n)
*cos(k*deltat*sqrt(5.0)*pi/4.0
*sqrt(m*m+4.0*n*n))
*sin(m*pi*i*h/4.0)
*sin(n*pi*j*h/2.0);
check=1;
}
else
{
anaPhi[i][j][k]= anaPhi[i][j][k]
+1.0/(m*m*m*n*n*n)
*cos(k*deltat*sqrt(5.0)*pi/4.0
*sqrt(m*m+4.0*n*n))
*sin(m*pi*i*h/4.0)
*sin(n*pi*j*h/2.0);
}
}
}
}

我刚刚测试了这段代码,但这段代码也不起作用!

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
int b=0;
for (int m=1;m<m+1;m=m+2)
{
b=cos(b)+sqrt(b);
}
cout << b << endl;
return 0;
}

最佳答案

我看到了几个问题。

  1. if(check=0) 将始终将检查设置为 0。

  2. 因为您使用 n= n+2,所以它永远不会中断。因为在某些时候你得到 n = 0x7FFFFFFE(最高正偶数),在这种情况下 n+1 > n。然后它回绕到 0x80000000(最负的有符号整数,仍然是偶数)并且 n+1 仍然 > n。如果您能够得到 n = 0x7FFFFFFF,那么由于整数环绕,n + 1 实际上会小于 n。

  3. 除了满足条件集之外,似乎没有任何其他方法可以打破 for 循环。

关于C++无限和代码挂了?冷冻?我不知道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16391217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com