
#include<stdio.h>
int main(void)
{
int limit,x=3,i=3,count=1;//count为1是因为有一个素数是偶数,即2
printf("请输入待求素数的上限:\n");
scanf("%d",&limit);
printf("2 ");//单独打印2
for(;x<limit;x+=2)//为了提高速度,我们从3开始,每次加2,遍历要求范围的所有奇数
{
i=3;
for(;x%i!=0&&i*i<=x;i+=2);//如果其约数能增长到根号下还大,说明其是素数
if(i*i>x)
{
printf("%d ",x); //中间用空格隔开
count++;
}
}
printf("\n有%d个素数!",count);
return 0;
}




by: 发表于:2017-08-14 11:30:00 顶(0) | 踩(0) 回复
??
回复评论