回文数 递归 C++
时间: 2024-08-28 15:04:20 浏览: 30
回文数是指正向读和反向读都一样的整数,比如121、12321等。在C++中,你可以使用递归来判断一个数是否为回文。递归函数的基本思路是将数字不断拆分成两部分,然后比较这两部分是否相等。
以下是一个简单的C++递归函数示例,用于检查一个整数是否是回文:
```cpp
#include <iostream>
// 递归函数,检查n是否是回文
bool isPalindrome(int n) {
// 基线条件:单个数字和零都是回文
if (n == 0 || n == 1)
return true;
// 拆分并比较首位和尾位
int last = n % 10; // 取最后一位
int rest = n / 10; // 去掉最后一位
// 如果首位和尾位不相等,则不是回文
if (last != rest)
return false;
// 递归检查去掉首尾后的剩余部分
return isPalindrome(rest);
}
int main() {
int num;
std::cout << "请输入一个整数: ";
std::cin >> num;
// 判断输入的数是否是回文
if (isPalindrome(num))
std::cout << num << " 是回文数.\n";
else
stdcout << num << " 不是回文数.\n";
return 0;
}
```