4
n=2
n=1232
n=40000
代码:
#include<stdio.h> #include<stdbool.h> #define max 1000 int arr[max+1]; int main() { int i,j,n; bool flag1=1; bool flag2=0; scanf("%d",&n); arr[1]=flag2; for(i=2;i<=n;i++) { arr[i]=flag1; } for(i=2;i<=n;i++) { if(arr[i]==flag1) { for(j=i*i;j<=n;j+=i) { arr[j]=flag2; } } } for(i=2;i<n;i++) { if(arr[i]==flag1) { printf("%d ",i); } } return 0; }