将大于形参m且紧靠m的k个素数求和并返回到主函数输出。例如,若 输入17, 5,可以找出五个素数分别是19, 23, 29, 31, 37。和为139
时间: 2024-04-30 12:18:32 浏览: 16
以下是一个实现该功能的 C++ 代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
bool is_prime(int num) {
if (num < 2) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
vector<int> find_primes(int m, int k) {
vector<int> primes;
int num = m + 1;
while (primes.size() < k) {
if (is_prime(num)) {
primes.push_back(num);
}
num++;
}
return primes;
}
int sum_primes(int m, int k) {
vector<int> primes = find_primes(m, k);
int sum = 0;
for (int i = 0; i < primes.size(); i++) {
sum += primes[i];
}
return sum;
}
int main() {
int m, k;
cout << "请输入 m 和 k:" << endl;
cin >> m >> k;
int sum = sum_primes(m, k);
cout << "大于 " << m << " 且紧靠 " << m << " 的 " << k << " 个素数的和为:" << sum << endl;
return 0;
}
```
首先定义一个 `is_prime` 函数来判断一个数是否为素数。然后定义一个 `find_primes` 函数来查找大于 `m` 的 `k` 个素数,并将它们存储在一个向量中返回。最后定义一个 `sum_primes` 函数来计算这些素数的和。
在主函数中,从标准输入中读入 `m` 和 `k`,然后调用 `sum_primes` 函数来计算答案并输出。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)