C/C++怎样实现递归阶乘求和?

2026-02-13 00:57:59

1、问题类型输入n输出:1!+2!+3!+......+n!

#include<iostream>


using namespace std;
long int Sn(int n);
long int Sn(int n) //递归函数
{
 long int s;
 if(n==0) return 1;
 s= Sn(n-1)*n;
 return (s);
}
int main()
{
 long int s=0;
unsigned int n;
 cin >> n;
 for(int i=1;i<=n;i++)
  s+= Sn(i);
 cout << s;
 return 0;
}

2、实现效果:

输入:5

输出:153

C/C++怎样实现递归阶乘求和?

猜你喜欢