黑马程序员技术交流社区
标题:
使用递归,解决下面的问题,希望可以详细的讲解,谢谢
[打印本页]
作者:
Jony.Lee
时间:
2014-4-16 15:20
标题:
使用递归,解决下面的问题,希望可以详细的讲解,谢谢
/*
题目:
编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。
比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9
*/
作者:
周宇华
时间:
2014-4-16 15:40
上代码,有注释:
#include <stdio.h>
// 求n的阶乘
int pie(int n)
{
// 1和0的阶乘就=1
if (n == 1 || n == 0) return 1;
// n的阶乘=n-1的阶乘*n
return pie(n - 1) * n;
}
// 求n的阶乘和
int pieAdd(int n)
{
// 1和0的阶乘和就是自身的阶乘
if (n == 1 || n == 0) return pie(n);
// n的阶乘和= n-1的阶乘和+n的阶乘
return pieAdd(n - 1) + pie(n);
}
int main()
{
int n = 3;
printf("%d的阶乘和=%d\n", n, pieAdd(n));
}
复制代码
作者:
愿我能
时间:
2014-4-16 15:44
本帖最后由 愿我能 于 2014-4-16 15:48 编辑
第一次插代码原来不能在代码框外修改,,好惨
看到楼上已经发好了,我也就不发了,楼上的好完美
复制代码
作者:
Jony.Lee
时间:
2014-4-16 15:54
周宇华 发表于 2014-4-16 15:40
上代码,有注释:
太感谢了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2