题目:请完成函数 cal (int L, int R) 功能,该函数统计给定 范围 [L, R] 的所有整数中回文数的个数 (100≤L≤R≤1000000)。 回文数是指将各位数字反向排列所得自然数与原数相同. 例如,[100,130] 范围有 3 个数 101、111、121 满足要求。
时间: 2024-04-07 13:30:02 浏览: 14
以下是统计回文数个数的C++函数的实现:
```cpp
#include <string>
bool isPalindrome(int num) {
std::string str = std::to_string(num);
int i = 0, j = str.length() - 1;
while (i < j) {
if (str[i] != str[j]) {
return false;
}
i++;
j--;
}
return true;
}
int cal(int L, int R) {
int count = 0;
for (int num = L; num <= R; num++) {
if (isPalindrome(num)) {
count++;
}
}
return count;
}
```
你可以调用该函数,传入范围的左边界 L 和右边界 R,即可统计得到在范围 [L, R] 内所有回文数的个数。