【C++解题报告】求阶乘之和(定义函数)

来源:互联网 发布:马云怎么通过淘宝赚钱 编辑:程序博客网 时间:2024/04/30 14:33
题目来源:
 
    基础班《函数、递推、递归》,函数第1题。

题目描述:

    用定义函数的方式,求S=1!+2!+3!+4!+5!+6!+……n!。

输入格式:

    输入n。

输出格式:

    输出S。

输入样例:

     5

输出样例:

     153

题目思路:

    求n个数的阶乘之和,要先求出这n个数的阶乘,再将其相加起来。发现次数需要重复用到计算阶乘这一过程,所以定义一个计算阶乘函数(函数名定义为:FA(Factorial))。本题未给出数据范围,但最好用long long 否则大数据会卡掉。


代码:


//实现计算阶乘 #include<iostream>//头文件 using namespace std;long long FA(int a)//定义阶乘函数,在此求出每个数的阶乘 {long long b=1;//定义变量 for(int i=1;i<=a;i++)//计算阶乘    b*=i;return b;//返回值 }int main()//定义主函数 {long long ans=0,n;//定义变量 cin>>n;//输入n for(int i=1;i<=n;i++)//计算每个数的阶乘的和    ans+=FA(i);cout<<ans;//输出 return 0;}




0 0