21xrx.com
2025-04-07 11:38:48 Monday
文章检索 我的文章 写文章
C++实现对称素数
2023-07-14 16:37:42 深夜i     17     0
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++实现对称素数就是先判断该数字是否是素数,然后再判断该数字是否和反转后的数字相等。

  
  

评论区

请求出错了