C++程序:高效查找回文素数
#include
// 判断一个数是否是素数 bool isPrime(int num) { if (num < 2) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; }
// 判断一个数是否是回文数 bool isPalindrome(int num) { int reverseNum = 0; int temp = num; while (temp != 0) { reverseNum = reverseNum * 10 + temp % 10; temp /= 10; } return num == reverseNum; }
// 求两个数之间即是回文数又是素数的个数 int countPalindromePrimes(int m, int n) { int count = 0; for (int i = m; i <= n; i++) { if (isPalindrome(i) && isPrime(i)) { count++; } } return count; }
int main() { int m, n; std::cout << "请输入两个数m和n:" << std::endl; std::cin >> m >> n; int result = countPalindromePrimes(m, n); std::cout << "在" << m << "和" << n << "之间即是回文数又是素数的个数为:" << result << std::endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/pHjj 著作权归作者所有。请勿转载和采集!