21xrx.com
2025-06-27 02:05:30 Friday
登录
文章检索 我的文章 写文章
C++递归实现倒序数
2023-06-30 18:35:58 深夜i     44     0
C++ 递归 实现 倒序数 函数

倒序数是指从最高位到最低位逆序排列的数字,例如:123的倒序数为321。在计算机编程中,我们可以使用递归的方法来实现倒序数的计算。

递归是一个函数自己调用自己的过程,可以通过递归来解决需要重复执行相同任务的问题。在倒序数计算中,递归的思路是将整数不断地除以10,直到只剩下一位数字,然后将这些数字按相反的顺序拼起来得到倒序数。

下面是C++语言中的递归代码实现:

#include <iostream>
using namespace std;
int reverse(int n) {
  if (n < 10)
    return n;
   else {
    int i = n % 10;
    int j = reverse(n / 10);
    int m = j;
    while (m >= 10)
      m /= 10;
    
    return i * pow(10, (int)log10(j) + 1) + j - m * pow(10, (int)log10(i) + 1);
  }
}
int main() {
  int n;
  cout << "请输入一个整数n: ";
  cin >> n;
  cout << "n的倒序数为:" << reverse(n) << endl;
  return 0;
}

在上面的代码中,reverse()函数实现了递归求解倒序数的功能。当输入的数字小于10时,直接返回该数字,否则将数字取模得到最后一位,然后将前面的部分递归调用reverse()函数得到倒序数,并使用pow()函数计算进位后的倒序数,最后返回计算结果。

在主函数中,首先输入一个整数n,然后调用reverse()函数求解倒序数,并输出结果。运行程序,输入一个整数,即可得到该整数的倒序数。

以上就是C++递归实现倒序数的方法,可以运用于学习递归算法的初学者,提高我们对递归算法的理解和应用能力。

  
  

评论区