Lumiat


私信TA

用户名:dotcpp0728735

访问量:74

签 名:

等  级
排  名 49097
经  验 292
参赛次数 2
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:
写factorial( )函数利用递归求阶乘

易知,x!=x*(x-1)!=x*(x-1)*(x-2)!=...=x*(x-1)*(x-2)*...*1

因此,可以利用递归求得x!,即在factorial函数内调用factorial 函数


核心代码

long long factorial(int x){

    if(x<=1) return 1;

    else return x*factorial(x-1);

}


注意事项:

阶乘结果和最后求和结果Sn会很大,定义时要定义成long long int型变量


参考代码:

本题思路清晰,代码较简单


#include<iostream>

using namespace std;

long long sum=1;

long long factorial(int x){

    if(x<=1) return 1;

    else

    return x*factorial(x-1);

}

int main()

{

    int n;

    cin>>n;

    for(int i=2;i<=n;i++){

        sum+=factorial(i);

    }

    printf("%lu",sum);

    return 0;

}


 

0.0分

1 人评分

  评论区

  • «
  • »