可参考:
输入任意两个正整数a、b(a<=b),求[a,b]之间的所有素数和。-CSDN博客
题干 | 求输入N段整数范围的素数之和。 若输入: 3 11 18 5 10 3 7 则计算[11 18]之间的素数11,13,17,[5 10]之间的素数5,7,[3 7]之间的素数3,5,7,八个素数之和68。 | ||
输入样例 | 3 11 18 5 10 3 7 | ||
输出样例 | 68 |
- #include
- #include
- int main() {
- int i, n, l, r,s=0,j,k,a;
- scanf("%d", &n);
- for (i = 0; i < n; i++) {
- scanf("%d%*c%d", &l, &r);
- for (k = l; k <= r; k++) {
- a = (int)sqrt(k);
- for (j = 2; j <= a; j++) {
- if (k % j == 0)
- break;
- }
- if (j > a) {
- s += k;
- }
- }
- }
- printf("%d", s);
- return 0;
- }