寻找素数时为什么要模数

时间:2013-01-27 00:56:15

标签: numbers modulo

我试图理解为什么在编写找到素数的程序时需要模运算符;我是一名学生,为了学习目的而分析一些代码,我很困惑为什么需要模数。

2 个答案:

答案 0 :(得分:0)

不需要显式模数。考虑sieve of Eratosthenes的实现(在C中为了使用某些东西):

int numbersThatMayBePrime[100];

memset(numbersThatMayBePrime, 0, sizeof(int)*100);

for(int c = 2; c < 100; c++)
{
    if(!numbersThatMayBePrime[c])
    {
        printf("%d\n", c);

        for(int strikeThrough = c; strikeThrough < 100; strikeThrough += c)
            numbersThatMayBePrime[strikeThrough] = -1;
    }
}

答案 1 :(得分:0)

如果n%的模数(n和0之间的所有数字)始终为正且从不为零,则数字为素数。 我试图弄清楚如何在JavaScript中编码。