我是编程的新手,我做了一个练习。我编写了一个程序,可以在较小的数字范围内正确运行,但是对于本练习,我们得到了很大的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;
}
答案 0 :(得分:0)
您可以检查我是否奇怪。如果是偶数(除了2)不是质数。
答案 1 :(得分:0)
以此替换您的内循环,
for(j=2;j<=sqrt(i);j++)