请编写函数,用递归方法求阶乘之和。
SumFac(n)=0!+1!+2!+3+⋯+n!
函数原型
double SumFac(int x);
说明:参数 x 为非负整数,函数值为 0 到 x 的阶乘之和。
要求:利用前面作业中的阶乘函数 Fac 来计算阶乘。不要使用循环语句。
裁判程序
#include <stdio.h>
double Fac(int x);
double SumFac(int x);
int main()
{
int n;
scanf("%d", &n);
printf("%.10g\n", SumFac(n));
return 0;
}
double Fac(int x)
{
...(略)...
}
/* 你提交的代码将被嵌在这里 */
输入样例
4
输出样例
34
测试样例
输入样例 | 输出样例 |
---|---|
0 | 1 |
1 | 2 |
5 | 154 |
10 | 4037914 |
70 | 1.215221118e+100 |
关联习题:阶乘函数。
实例代码
double SumFac( int x )
{
double sum;
if(x>=0)
{
sum=SumFac(x-1)+Fac(x);
}
return sum;
}