首页 > 解决方案 > 编写 C++ 程序以使用 ITERATION 查找数字的倒数

问题描述

我不知道如何将此递归代码更改为迭代,有什么帮助吗?

我应该开始另一个还是我应该能够改变这个?

    int reverseNumber(int num);
 
int main()
{
    int num, reverse;
 
    // Inputting number from user
    cout<<"Enter any number: ";
    cin>>num;
 
    // Calling function to reverse any number
    reverse = reverseNumber(num);
 
    cout<<"Reverse of number "<<num <<" is: "<<reverse;
 
    return 0;
}
 
int reverseNumber(int num)
{
    // Find total digits in num
    int digit = (int) log10(num);
 
    // Base condition
    if(num == 0)
        return 0;
 
    return ((num%10 * pow(10, digit)) + reverseNumber(num/10));
}

标签: c++recursioniterationdigits

解决方案


您只需要获取该号码的最后一位并将其添加到另一个号码即可。您可以从代码中更好地理解它。

 int iterativeReverse(int num) {
    int revesedNum = 0; 
    while(num != 0) {
        int lastDigit = num % 10;
        reversedNum = reversedNum * 10 + lastDigit;
        num /= 10; 
    }
    return reversedNum; 
 }


推荐阅读