21xrx.com
2024-12-22 20:32:20 Sunday
登录
文章检索 我的文章 写文章
C++实现求解和谐素数之和
2023-07-09 13:46:35 深夜i     --     --
C++ 和谐素数 求解 实现 和谐数

和谐素数是指一个素数的每个数字的和都是素数。例如,23是一个和谐素数,因为2和3都是素数,而13不是和谐素数,因为1不是素数。C++是一种常见的编程语言,它使用起来非常方便,可以帮助我们求解和谐素数之和。

在C++中,我们可以通过循环来判断一个数字是否是素数,同时也可以判断它的每个数字的和是否是素数。接下来,我们可以使用变量来计算符合条件的和谐素数的和。

下面是一个使用C++求解和谐素数之和的简单代码:


#include <iostream>

#include <cmath>

using namespace std;

bool isPrime(int n) {

  if (n <= 1)

    return false;

  

  for (int i = 2; i <= sqrt(n); i++) {

    if (n % i == 0)

      return false;

    

  }

  return true;

}

bool isHarmonic(int n) {

  int sum = 0;

  while (n > 0) {

    sum += n % 10;

    n /= 10;

  }

  if (isPrime(sum))

    return true;

  

  return false;

}

int main() {

  int n, sum = 0;

  cout << "请输入一个正整数n: ";

  cin >> n;

  for (int i = 2; i < n; i++) {

    if (isPrime(i) && isHarmonic(i)) {

      sum += i;

    }

  }

  cout << "和谐素数之和为: " << sum << endl;

  return 0;

}

在上面的代码中,我们定义了两个函数isPrime和isHarmonic。isPrime函数用来判断一个数字是否为素数,isHarmonic函数用来判断一个数字是否为和谐素数。接下来,在main函数中,我们首先输入一个正整数n,然后使用循环来遍历2到n之间的所有数字,对每个数字进行判断。如果这个数字既是素数,且它的每个数字的和也是素数,则累加到sum变量中。最后输出sum变量的值,即和谐素数之和。

如果我们输入20,程序将输出和谐素数之和为23,因为2、3、5、7、11、13都是和谐素数,它们的和为23。

总之,C++是一种非常强大的编程语言,它可以帮助我们实现各种算法和程序。通过使用循环和判断函数,我们可以很容易地求解和谐素数之和,这个过程也可以帮助我们更好地理解和使用C++。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复