递归最终编号
Recursion final number
如果我的输入数字是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。
每次都会添加返回值。
相关文章:
- 通过递归进行因子分解
- 递归函数计算序列中的平方和(并输出过程)
- 使用递归的数组的最小值.这是怎么回事
- 递归列出所有目录中的C++与Python与Ruby的性能
- 递归计数给定目录的文件和所有目录
- 如何在BST的这个简单递归实现中消除警告
- C++:正在检查LinkedList中的回文-递归方法-错误
- 递归模板化函数不能分配给具有常量限定类型"const tt &"的变量"state"
- 递归无序映射
- TSP递归解的迭代形式
- 如何在Elixir中调用递归函数并行
- 返回递归调用和仅递归调用的区别
- 数组元素打印的递归方法
- 使用递归时获取变量的奇怪值
- 如何在C++中递归地按相反顺序打印集合
- 到连接组件算法的问题(递归)
- 如何使用递归打印修改后的星号三角形图案
- 使用递归模板动态分配的多维数组
- 递归编号增加
- 递归最终编号