求输入N段整数范围的素数之和。

求输入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
#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;
}

你可能感兴趣的:(算法,数据结构)