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; }

浙公网安备 33010602011771号