用递归的方法求n!+(n+1)!

1个回答
展开全部
咨询记录 · 回答于2022-05-13
用递归的方法求n!+(n+1)!
您好,亲用递归的方法求n!+(n+1)!首先可知当N=1时 N!=1 第二步可设当R(N)=N!,R(N+1)=(N+1)! 第三步,求R(N+1)与R(N)之间的关系。R(N)=N!, 而R(N+1)=(N+1)!=(N+1)*(N)*(N-1)*…*2*1=(N+1)*N!=(N+1)*R(N) 即:R(N+1)=(N+1)*R(N) =〉 R(N)=N*R(N-1) 现在根据这个公式草略地构造一个函数: factorial (int N) { return N * factorial (N - 1) /* 递归部分 */ } 接下来补充截止部分,这一部分在整个过程中只使用一次,没有它,程序就将无限递归下去。可以说它是程序运行栈的栈顶,到了它,就开始一步步退栈了。 函数改为: factorial (int N) { if (N == 1) return 1; return N * factorial (N - 1) /* 递归部分 */ }
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消