本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值。
函数接口定义:
double fact( int n ); double factsum( int n );
函数fact
应返回n
的阶乘,建议用递归实现。函数factsum
应返回 1!+2!+...+n
! 的值。题目保证输入输出在双精度范围内。
话不多说,上个代码,娱乐消遣一下,注意一下递归的用法
double fact(int n){if(n == 0){ //当n等于0时,直接返回1return 1;}else{ //否则,递归计算n的阶乘return n * fact(n-1);}
}double factsum(int n){int sum=0;for(int i=1;i<=n;i++){sum+=fact(i); //计算1!+2!+...+n!的值}return sum;
}