如何判断一个数既是质数又是回文数cpp
时间: 2024-02-06 15:12:22 浏览: 90
判断一个数是否是回文数
可以先判断这个数是否是质数,如果是,再判断它是否是回文数。
判断质数的方法可以使用试除法,从2到这个数的平方根依次尝试除以这个数,如果都不能整除,则这个数是质数。
判断回文数的方法可以将这个数转换成字符串,然后使用双指针从字符串两端向中间扫描,判断对应位置上的字符是否相等。
下面是一个参考代码:
```cpp
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
bool is_prime(int n) {
if (n <= 1) return false;
int sqrtn = sqrt(n);
for (int i = 2; i <= sqrtn; i++) {
if (n % i == 0) return false;
}
return true;
}
bool is_palindrome(int n) {
string s = to_string(n);
int i = 0, j = s.size() - 1;
while (i < j) {
if (s[i] != s[j]) return false;
i++;
j--;
}
return true;
}
int main() {
int n;
cin >> n;
if (is_prime(n) && is_palindrome(n)) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
```
阅读全文