C++区间质数和 C D 传统题 1000ms 256MiB 题目描述 输入两个正整数 � L 和 � R,请你计算区间 � L 到 � R 之间所有的质数的和。其中判断质数部分请用函数实现。 输入格式 输入两个正整数 � L 和 � R。 输出格式 输出区间质数和。 样例 输入数据 1 2 10 Copy 输出数据 1 17 Copy 提示 样例1解释 2 2 到 10 10 里面的质数有 2 、 3 、 5 、 7 2、3、5、7,总和为17 数据范围 1 ≤ � ≤ � ≤ 1000 1≤L≤R≤1000
时间: 2023-12-29 21:06:46 浏览: 99
好的,这是一个简单的数学题目。我们可以先实现一个判断质数的函数,然后在给定的区间内枚举每个数,如果是质数就加到结果中。下面是 C++ 的代码实现:
```cpp
#include <iostream>
using namespace std;
bool is_prime(int x) {
if (x < 2) return false;
for (int i = 2; i <= x / i; i++) {
if (x % i == 0) return false;
}
return true;
}
int main() {
int L, R;
cin >> L >> R;
int sum = 0;
for (int i = L; i <= R; i++) {
if (is_prime(i)) sum += i;
}
cout << sum << endl;
return 0;
}
```
时间复杂度是 O((R-L+1) sqrt(R)),可以通过本题。
阅读全文