两个函数就能AC!
2025-07-24 10:33:23
发布于:浙江
2阅读
0回复
0点赞
#include <iostream>
#include <vector>
// 判断一个数是否是回文数(十进制)
bool isDecimalPalindrome(int num) {
int original = num;
int reversed = 0;
while (num > 0) {
reversed = reversed * 10+ num % 10;
num = num / 10;
}
return original == reversed;
}
// 判断一个数是否是二进制回文数
bool isBinaryPalindrome(int num) {
// 先转换为二进制
std::vector<int> binary;
int n = num;
while (n > 0) {
binary.push_back(n % 2);
n = n / 2;
}
int size = binary.size();
for (int i = 0; i < size / 2; i++) {
if (binary[i]!= binary[size - i - 1]) {
return false;
}
}
return true;
}
int main() {
int a, b;
stdcin >> a >> b;
for (int i = a; i <= b; i++) {
if (isDecimalPalindrome(i) && isBinaryPalindrome(i)) {
stdcout << i << std::endl;
}
}
return 0;
}
这里空空如也
有帮助,赞一个