#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语言:用试除法求素数的优化代码
最新推荐文章于 2025-03-19 00:00:00 发布
该程序通过遍历100到200的整数,使用试除法检查每个数是否为质数。对于每个数,它用从2到其平方根的整数进行除法,如果找到因子则跳出循环。如果循环结束仍未找到因子,则该数被认为是质数并计数加一。最终输出了这一范围内找到的质数数量。
7059

被折叠的 条评论
为什么被折叠?



