#include <stdio.h>
#include <math.h>
int main()
{
int i = 0;
int count = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
for (j = 2; j <= (int)sqrt(double(i)); j++)//因为在试除法中会出现重复除的情况比如:16=2*8 会试除2 后面又试除8所以在根号i(二分之i也可)前如果找不到,那么根号i后面也会找不到,(sqrt()是开平方,括号内只能是double、float,所以要强制转换)
{
if (i%j == 0)
{
break;
}
}
if (j > (int)sqrt(double(i)))
{
count++;
printf("%d ", i);
}
}
printf("\ncount=%d\n", count);
return 0;
}
C语言:用试除法求素数的优化代码
最新推荐文章于 2024-08-06 00:00:00 发布