本题思路:
1.我们要先判断那些数是质数,那些数不是质数,我们先弄一个函数来帮我们判断
2.同时我们借助 t 来计数,并用 s 来求和
3.要注意s与L的关系,否则容易混淆
#include<stdio.h>
int abc(int n) {
int i = 2, a = 1;
for (i = 2; i * i <= n; i++) {
if (n % i == 0) {
a = 0;
break;
}
}
return a;
}
int main() {
int l, t = 0, s = 0;//t计数,s求和
scanf("%d", &l);
int i;
for (i = 2;; i++) {//用里面break结束循环
if (abc(i)) {
s = s + i;
if (s <=l) {//必须是<=否则可能会少一个
printf("%d\n", i);
t++;
}
if (s >= l) {//因为=的时候后面不用看了
break;
}
}
}
printf("%d", t);
}