递归最终编号

Recursion final number

本文关键字:编号 递归      更新时间:2023-10-16

如果我的输入数字是2...我知道该函数将采用上一个答案并乘以2,直到数字大于25

2 * 2 = 4

4 * 2 = 8

8 * 2 = 16

16 * 2 = 32...程序停止,因为 num 为 32

但是我的最终数字是62,我怎么得到这个数字>

#include <iostream>
using namespace std;
int myRecursiveFunction (int num)
{
    if (num >= 25)           // stopping condition
        return num;
    else
        cout << "number is at " << num << endl;
        return num = num + myRecursiveFunction (num * 2);
}
int main()
{
    int num, num1;
    cout << "Enter a number: ";
    cin >> num;
    num1 = myRecursiveFunction(num);
    cout << "Final number is: " << num1;
    return 0;
}

你想要这样做:

2 * 2 = 4

4 * 2 = 8

8 * 2 = 16

16 * 2 = 32...程序停止,因为 num 为 32

你正在做返回 num = num + myRecursiveFunction (num * 2);返回 32+16+8+4+2 = 62

2 +

4 + 8 + 16 + 32 = 62。
每次都会添加返回值。