目前正在研究 euler 项目的第三个问题,并偶然发现了一个奇怪的问题,这让我用头撞墙试图弄清楚。我将问题隔离到这一小部分代码。
#include <iostream>
int main()
{
long max = 13195;
long largestPrimeNumber = 0;
for(int i = 0; i < max; i++)
{
if(max % i == 0)
{
std::cout << "test\n";
}
else
{
std::cout << "other test\n";
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这个小测试程序的最终目标是为每个非素数输出“测试”,为每个小于 13195 的素数输出“另一个测试”,如下所示:
test
test
test
test
another test
test
test
another test
Run Code Online (Sandbox Code Playgroud)
我尝试过将其放入函数并在 for 循环中运行该函数的方法。它工作正常,直到我添加条件(max % i == 0);。关于它的一些东西似乎弄乱了代码,但我不知道是什么。
c++ ×1