明天大一上期末考,今天终于打到这里了,纪念一下,筛法确实难
#include <stdio.h>
int main() {
int n;
while (scanf("%d", &n) != EOF) {
int s[100];
for(int i = 2;i<=n;i++)
{
s[i-2]=i;
}
for(int j = 2;j<=n;j++)
{
for(int k =j-1;k<n-1;k++)
{
if(s[k]%j==0)
s[k]=0;
}
}
int ou = 0;
for(int j = 0;j<n-1;j++){
if(s[j]!=0)
printf("%d ",s[j]);
else
ou ++;
}
printf("\n%d",ou);
}
return 0;
}

京公网安备 11010502036488号