我想让我的质数范围查找器程序在C中更快

时间:2018-10-20 19:42:13

标签: c

我是编程的新手,我做了一个练习。我编写了一个程序,可以在较小的数字范围内正确运行,但是对于本练习,我们得到了很大的nums范围,并且只花很长时间才能完成检查。 有什么建议可以使我更快吗?

#include <stdio.h>

#define START 190000000 
#define END 200000000

int main()
{
    int primenum = 0, i = 0, j = 0, c = 0;
    for (i = START; i <= END; i++)
    {
        printf("EXMINING %d\r\n", i);
        c = 2;
        for (j = 2; j <= i-1; j++)
        {
            if (i%j == 0)
            { c=1;
                break;
            }
        }
        if (c == 2) primenum = primenum + 1;
        printf("Prime Numbers Found so far: %d\r\n", primenum);
    }
    printf("THE PRIME NUMBERS ARE %d", primenum);
    return 0;
}

2 个答案:

答案 0 :(得分:0)

您可以检查我是否奇怪。如果是偶数(除了2)不是质数。

答案 1 :(得分:0)

以此替换您的内循环,

   for(j=2;j<=sqrt(i);j++)