#include <stdio.h> #include <math.h> #include <stdlib.h> int main() { int a,*arr,i,j,count=0; scanf("%d",&a); arr=malloc(sizeof(int)*(a-1));//开辟合适空间存储数组 for(i=0;i<a-1;i++)//遍历数组 { arr[i]=i+2;//初始化数组 for(j=2;j<=sqrt(arr[i]);j++) { if(arr[i]%j==0)//判断是否素数 { arr[i]=0; count++; } } if(arr[i]) printf("%d ",arr[i]); } printf("\n%d\n",count); return 0; }