求输入N段整数范围的素数之和。
可参考:
输入任意两个正整数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<stdio.h>
#include<math.h>
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;
}