题目: 编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。 比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9 我的答案太复杂了,如下
<
#include <stdio.h>
int ji; int result(int n){
if (n==1) { ji=1; }else{
ji=result(n-1)*n; } return ji; }
int he; int sum(n){ if (n==1) { he=1; }else{ he=sum(n-1)+result(n);
} return he; } //sum(n)=sum(n-1)+result(n)
int main(int argc, const char * argv[]) {
he=sum(4); printf("%d\n",he); return 0; } >
除了老师给的答案,大家还有别的简便的方法吗?
|