如果我輸入的號碼是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;
}
'32 + 16 + 8 + 4 + 2 = 62' ...這就是你得到的!你的預期結果是什麼? –
'return num = num + myRecursiveFunction(num * 2);'應該是'num = num + myRecursiveFunction(num * 2);返回num' – smac89
@Jessica'myRecursiveFunction(16 * 2)'返回'32'並且將它總結爲num# –