#include stdioh#include stdboolhbool isPrimeint n if n = 1 return false; for int i = 2; i i = n; i++ if n i == 0 return false; return true;bool
// 判断一个数是否为素数 bool isPrime(int n) { if (n <= 1) { // 小于等于1的数不是素数 return false; } for (int i = 2; i * i <= n; i++) { // 从2到sqrt(n)判断能否整除n if (n % i == 0) { return false; // 能整除,不是素数 } } return true; // 不能整除,是素数 }
// 判断一个数是否为回文数 bool isPalindrome(int n) { int reversed = 0; // 存放翻转后的数 int original = n; // 存放原始数 while (n > 0) { int digit = n % 10; // 取出最低位 reversed = reversed * 10 + digit; // 翻转后加上最低位 n = n / 10; // 将最低位去掉 } return original == reversed; // 判断是否相等 }
int main() { int n; printf("请输入一个整数:"); scanf("%d", &n); if (isPrime(n) && isPalindrome(n)) { // 判断是否为回文素数 printf("%d是回文素数\n", n); } else { printf("%d不是回文素数\n", n); } return 0;
原文地址: http://www.cveoy.top/t/topic/eCEn 著作权归作者所有。请勿转载和采集!