描述
求1+2!+3!+...+N!的和
要求使用递归实现
long long forOne(int X); // 计算单个数的阶乘 X为正整数
long long forAll(int N); // 全部数值计算 N为正整数
格式
输入格式
正整数N(N〈=20)
输出格式
1+2!+3!+...+N!的和 (结果为整数形式)
样例
样例输入
3
样例输出
9
描述
求1+2!+3!+...+N!的和
要求使用递归实现
long long forOne(int X); // 计算单个数的阶乘 X为正整数
long long forAll(int N); // 全部数值计算 N为正整数
格式
输入格式
正整数N(N〈=20)
输出格式
1+2!+3!+...+N!的和 (结果为整数形式)
样例
样例输入
3
样例输出
9
#include <stdio.h>
long long forOne(int X){
return X==1?1:X*forOne(X-1);
}
long long forAll(int N){
return N==1?1:forOne(N)+forAll(N-1);
}
int main(void) {
int n;
scanf("%d",&n);
printf("%lld",forAll(n));
return 0;
}