21xrx.com
2025-03-14 00:14:01 Friday
登录
文章检索 我的文章 写文章
C++递归实现倒序数
2023-06-30 18:35:58 深夜i     --     --
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++递归实现倒序数的方法,可以运用于学习递归算法的初学者,提高我们对递归算法的理解和应用能力。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复