#include <stdio.h> #include <math.h> int is_su(int n) { for(int i = 2;i<=sqrt(n);i++) { if(n%i == 0) { return 0; } } return 1; } int main() { int a; while (scanf("%d", &a) != EOF) { // 注意 while 处理多个 case int count = 0; for(int i =2;i<=a;i++) { if(is_su(i)) { printf("%d ",i); } else { count++; } } printf("\n%d\n",count); } return 0; }
这题就是把2-n之间的素数打印出来,把非素数的个数打印出来即可