21xrx.com
2024-11-22 06:17:06 Friday
登录
文章检索 我的文章 写文章
C++实现对称素数
2023-07-14 16:37:42 深夜i     --     --
C++ 对称素数 实现

对称素数是一种特殊的素数,它指的是其本身和反转后的数都是素数。比如,11和101都是对称素数。

在C++中,实现对称素数的判断可以采用以下步骤:

1. 定义一个函数isPrime(),用来判断一个数字是否是素数。素数是指只能被1和自己本身整除的数。

2. 定义一个函数reverse(),用来返回一个数字的反转后的结果。比如,123的反转后的数字是321。

3. 定义一个函数isSymmetricPrime(),用来判断一个数字是否是对称素数。该函数首先判断该数字是否是素数,然后判断该数字是否和反转后的数字相等。

下面是具体实现代码:


#include <iostream>

using namespace std;

bool isPrime(int n) //判断素数

{

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

  {

    if (n % i == 0)

    

      return false;

    

  }

  return true;

}

int reverse(int n)  //数字反转

{

  int res = 0;

  while(n > 0)

  {

    res = res * 10 + n % 10;

    n /= 10;

  }

  return res;

}

bool isSymmetricPrime(int n)  //判断对称素数

{

  if (isPrime(n) && n == reverse(n))

  

    return true;

  

  return false;

}

int main()

{

  int n;

  cin >> n;

  if (isSymmetricPrime(n))

  

    cout << "Yes" << endl;

  

  else

  

    cout << "No" << endl;

  

  return 0;

}

上述代码先输入一个整数n,然后判断它是否是对称素数。如果是对称素数,则输出“Yes”,否则输出“No”。

总之,C++实现对称素数就是先判断该数字是否是素数,然后再判断该数字是否和反转后的数字相等。

  
  

评论区

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