1

我正在尝试编写一个 c++ 程序来查找具有一定范围(1 到 30 亿)的所有数字,这些数字可以被一个数字 N 完全整除。我想知道我是否可以尽可能有效地获得指针来执行此操作。

非常基本:

for (i = 0; i < 3 BIllion; i++)
{
    if (i % N == 0) print (i);
}

我相信会有更好的解决方案,因为这需要很长时间。真的很感激朝着正确的方向轻推。

4

1 回答 1

4

与其依次测试所有数字,为什么不直接生成倍数呢?

#include <cstdint>

uint32_t i = 0;
while (i < 3000000000)
{
    printf("%d\n", i);
    i += N;
}
于 2011-11-28T02:07:07.033 回答