ACM 1179

输入一个正整数N,求1!+2!+3!+…+N!,即求
提示:由于>10的整数的阶乘非常大,已超出整数的表示范围,
故求阶乘时,需要将变量定义为double类型。
输入 输入一个正整数N
输出 1~N连续阶乘的和,1!+2!+3!+…+N!的和,末尾换行。
样例输入 10
样例输出 4037913

做此题之前需要搞懂阶乘的含义,比如:
1!=1
2!=12
3!=1
2*3

以此类推 ,可以看出阶乘n!的含义则是1~n之间的正整数不断相乘。
弄懂定义就简单了,此题和我之前发的ACM 1178 Blog一个同样的累加思路,看代码把

#include<stdio.h>
int main()
{
    double n,d=1,sum=0,i=1;     //定义n变量取值,d变量作为单个算术,sum作为总和,i为循环变量
    scanf("%lf",&n);            //取值n
    for(i=1;i<=n;i++)           //循环n次
    {
        d=i*d;                  
        sum=d+sum;              
    }
    printf("%.lf\n",sum);       //输出sum值,加'.'代表只取整数部分
    return 0;
}

有任何不懂的可以下方评论,觉得还不错的可以点个赞喔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值