不记当年


私信TA

用户名:1172412817

访问量:3499

签 名:

文科小白瑟瑟发抖

等  级
排  名 2748
经  验 2167
参赛次数 0
文章发表 8
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

有没有老司机带带我

解题思路:这题主要是求每个数的阶乘以及阶乘求和,这个想必对各位大佬来说肯定是轻而易举,但对于我这个新人小白来说还需思考一会儿,想出来的也不是最简洁的算法……一开始我把变量都定义成int型,上传了几次都是错的,折腾了好久,把两个变量改成long long型才成功……原因应该是int型容不下变量的大小了吧。

注意事项:变量要定义成long long型,输出的时候记得要用“%lld”来输出!

参考代码:

#include <stdio.h>
int main()
{
    long long Sn,m;
    int n,i,j;
    while((scanf("%d",&n)==1) && n>0 && n<=20)
    {
        Sn=1;
        for(i=0;i<n-1;i++)
        {
            m = 1;
            for(j=n-i;j>0;j--)
            {
                m=m*j;
            }
            Sn=Sn+m;
        }
        printf("%lld\n",Sn);

    }
    return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »