最快的方法来计算模数在一个大的数字列表

Fastest way to calculate modulus in a large list of numbers

本文关键字:一个 列表 数字 方法 计算      更新时间:2023-10-16

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

非常基本的:

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

我相信会有更好的解决方案,因为这需要很长时间。如果你能朝正确的方向推动一下,我将非常感激。

与其依次测试所有的数字,为什么不显式地生成倍数呢?

#include <cstdint>
uint32_t i = 0;
while (i < 3000000000)
{
    printf("%dn", i);
    i += N;
}