输入描述:多组输入,每行输入一个正整数(不大于100)
输出描述:针对每行输入的整数n,输出两行,第一行,输出n以内(包括n)的素数,用空格分隔
第二行,输出数组中2以后0的个数。每行输出后换行。
具体代码:
#include <stdio.h>
int main()
{
int n = 0;
while(~scanf("%d",&n))
{
int arr[101];
int i = 0;
for(i=2;i<=n;i++)
{
arr[i]=i;
}
int j = 0;
for(j=2;j<=n;j++)
{
int k = 0;
for(k=j+1;k<=n;k++)
{
if(arr[k]%j==0)
{
arr[k] = 0;
}
}
}
int count = 0;
for(i=2;i<=n;i++)
{
if(arr[i]!=0)
printf("%d",arr[i]);
else
count++;
}
printf("\n%d\n",count);
}
return 0;
}