题解 | #筛选法求素数#
筛选法求素数
http://www.nowcoder.com/practice/06c3dcc303654ef4926654023eca1e5a
#include<stdio.h>
int is_prime(int n)
{
int j=0;
for(j=2;j<n;j++)//sqrt-开平方的数学库函数
{
if (n%j==0)
return 0;//是素数返回1,不是返回0
}
return 1;
}
int main()
{
int n;
int sum=0;
while(scanf("%d",&n)!=EOF)
{
for(int i=2;i<=n;i++)
{
if(is_prime(i)==1)
{
printf("%d ",i);
sum++;
}
}
printf("\n%d",n-1-sum);
}
return 0;
}
int is_prime(int n)
{
int j=0;
for(j=2;j<n;j++)//sqrt-开平方的数学库函数
{
if (n%j==0)
return 0;//是素数返回1,不是返回0
}
return 1;
}
int main()
{
int n;
int sum=0;
while(scanf("%d",&n)!=EOF)
{
for(int i=2;i<=n;i++)
{
if(is_prime(i)==1)
{
printf("%d ",i);
sum++;
}
}
printf("\n%d",n-1-sum);
}
return 0;
}