用python递归函数计算1!+3!+n!_用函数递归求1!+2!+3!……+n! 的值的小问题

这个函数要求的是1!+2!+3!+……+n!的值,要求用函数递归来做。。。。。疑惑在最下面的lj(inti)函数那里,不知道错在哪了。。。。源代码如下:#includeusingnamespacest...

这个函数要求的是 1!+2!+3!+……+n!的值,要求用函数递归来做。。。。。

疑惑在最下面的lj(int i)函数那里,不知道错在哪了。。。。

源代码如下:

#include

using namespace std;

long lj(int i); // lj(int i),累加函数

long lc(int j); //lc(int j),累乘函数

int main()

{

int n;

do

{

cout<

cin>>n;

if(n==0) break;

lj(n);

cout<

}while(n!=0);

return 0;

}

long lj(int i)

{

int sum1=0;

if(i==0) sum1=0; //为什么当i==0后,sum1被赋值为1,而底下的return sum1不会返回1.

else

sum1=lj(i-1)+lc(i);

return sum1;

}

long lc(int j)

{

int sum2=1;

if(j==1) return sum2;

sum2=lc(j-1)*j;

}

/*为什么将函数 long lj(int i)改成以下代码就出现错误(编译没有错误,改成这个后,得出的值就只有n!了)?

long lj(int i)

{

int sum1=0;

if(i==0) return sum1;

sum1=lj(i-1)+lc(i);

}

*/

展开

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值