4.若两个连续自然数的乘积减1是素数,则称该素数是和谐素数。 例如,2*3-1=5,5是和谐素数。求[2,n]区间内所有和谐素数之和。例如,n取5时,[2,5]区间的和谐素数有2x3-1=5,3x4-1=11,4x5-1=19和谐素数之和是5+11+19=35
时间: 2024-11-20 19:43:54 浏览: 26
为了寻找区间 [2, n] 内的所有和谐素数之和,我们可以按照题目描述的方式,先生成连续的自然数对,然后检查每个乘积减1的结果是否为素数。如果是素数,并且满足条件,就将其加入到总和中。以下是一个简单的C++程序实现这一过程:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 判断是否为素数
bool isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
// 求和谐素数之和
unsigned long long sumHarmoniousPrimes(int n) {
unsigned long long sum = 0;
for (int i = 2; i <= n - 1; i++) { // 避免重复计算,跳过最后一个数
int product = i * (i + 1);
if (isPrime(product - 1)) {
sum += product - 1;
}
}
return sum;
}
int main() {
int n;
cout << "Enter the value of n: ";
cin >> n;
unsigned long long result = sumHarmoniousPrimes(n);
cout << "The sum of harmonious primes in the range [2, " << n << "] is: " << result << endl;
return 0;
}
```
阅读全文
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)