例1:
输入
5
输出
2 3 5
例2:
输入
20
输出
2 3 5 7 11 13 17 19
解决代码
#includeint main() { int divisor; // 除数 int n; // 给定值 scanf("%d",&n); if (n == 2) { printf("2n"); } else { printf("2n"); for (divisor = 3; divisor <= n; divisor += divisor % 2 + 1){ // sub_divisor 子除数,用来判断除数是否是质数 for (int sub_divisor = 2; sub_divisor <= divisor; sub_divisor += sub_divisor % 2 + 1){ if (divisor % sub_divisor == 0){ break; } else if (sub_divisor == divisor - 1 || sub_divisor == divisor - 2) { printf("%dn",divisor); break; } } } } return 0; }
以上程序的边界条件 sub_divisor == divisor -1 || sub_divisor == divisor -2可参考→C语言判断质数



