C++ 中的下一个最小素数回文

在本教程中,我们将编写一个查找下一个最小素数回文的程序。

给你一个数字 N。你需要找到大于 N 的素数回文。

让我们看看解决问题的步骤。

  • 初始化数字 N。

  • 编写一个函数来检查给定的数字是否为素数。

  • 编写一个函数来检查给定的数字是否是回文。

  • 编写一个循环,从N + 1迭代直到找到下一个质数回文。

    • 当你找到号码时打破循环。

示例

让我们看看代码。

#include<bits/stdc++.h>
using namespace std;
bool isPrime(int n) {
   if (n < 2) return false;
   for (int i = 2; i <= sqrt(n); i++) {
      if (n % i == 0) return false;
   }
   return true;
}
bool isPalindrome(int n) {
   int num, digit, rev = 0;
   n = num;
   while (num) {
      digit = num % 10;
      rev = (rev * 10) + digit;
      num = num / 10;
   }
return n == rev ? true : false;
}
int getNextSmallestPrimePalindrome(int n) {
   int i = n + 1;
   while (true) {
      if (isPrime(i) && isPalindrome(i)) {
         return i;
      }
      i += 1;
   }
}
int main() {
   int N = 15;
   cout << getNextSmallestPrimePalindrome(N) << endl;
   return 0;
}
输出结果

如果你运行上面的代码,那么你会得到下面的结果。

17

结论

如果您对本教程有任何疑问,请在评论部分提及。