上代码,有注释:
- #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));
- }
复制代码 |