#include <stdio.h>
#include <math.h>
int main()
{
int a[101];
int i,j,k=0;
double l;
l= sqrt(100.0);
for(i=1;i<=100;i++) /*对数组a进行赋值*/
a[i]=i;
for(j=2;j<=l;j++) /*用一个数来对数组a进行循环求余*/
for(i=j+1;i<=100;i++) /*用数组a中的各个元素进行循环被除*/
{
if(a[i]%j==0) /*判断数组a中的元素,能被j整除,则该元素不是素数*/
a[i]=0; /*如果该元素不是素数,则将该元素赋值为0*/
}
for(i=2;i<=100;i++)
{
if(a[i]!=0) /*输出数组a中不是0的元素,即是素数*/
{
printf("%5d",a[i]);
k++; /*输出一个素数加一次,对素数个数进行记数*/
}
if(k%10==0) /*控制每行输出的个数*/
printf("\n");
}
printf("\n") ;
printf(" k=%d",k); /*k表示100内有多少个素数*/
return 0;
}
用筛法求100之内的所有素数
最新推荐文章于 2022-05-17 22:53:12 发布