易错
由题可知,a可能为0
Input:
有多组测试样例,输入直到文件末尾。
每组样例占一行, a b (0<=a,b<=65536)
Output:
对每组样例输出占一行,输出内容为a,b之间(不含a,b)所有素数的和。
#include <iostream>
#include <valarray>
using namespace std;
/**
* kkmd66 四刷
* @return
*/
int main() {
int a, b;
while (cin >> a >> b) {
//判断大小,否则无法通过
if (a > b)
swap(a, b);
//找素数,并求和
long long sum = 0;
for (int i = a + 1; i < b; ++i) {
//判断是否为素数
bool flag = true;
for (int j = 2; j <= sqrt(i); ++j) {
if (i % j == 0) {
flag = false;
break;
}
}
//是素数,累加
if (flag && i > 1)
sum += i;
}
//输出
cout << sum << endl;
}
return 0;
}