题解 | #筛选法求素数#
筛选法求素数
http://www.nowcoder.com/practice/06c3dcc303654ef4926654023eca1e5a
#include <stdio.h>
int main()
{
int i,j,n,a[100];
int sum=0; //最后数组中0的个数
while(scanf("%d",&n)!=EOF){
for(i=2;i<=n;i++){ //将值导入数组(2--n)
a[i-2]=i; //a0--a[n-2]
}
for(j=2;j<=n;j++){ /* 从a[1]到a[n-2]判断数值是否能整除2,
每循环一次初始循环的数组下标+1,整除数+1*/
for(i=j-1;i<n-1;i++){
if(a[i]%j==0) a[i]=0;
}
}
for(i=0;i<n-1;i++){ //输出不为0的数据并计算等于0的个数
if(a[i]!=0) printf("%d ",a[i]);
else sum++;
}printf("\n%d",sum); //换行输出等于0的个数
}
return 0;
}
美的集团公司福利 724人发布
查看7道真题和解析