小编Hor*_*ice的帖子

if(x % y == 0) 导致我的程序不输出任何内容?

目前正在研究 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++

0
推荐指数
1
解决办法
56
查看次数

标签 统计

c++ ×1