菜鸟求带飞


私信TA

用户名:dotcpp0610279

访问量:2414

签 名:

等  级
排  名 1588
经  验 2764
参赛次数 0
文章发表 8
年  龄 19
在职情况 学生
学  校 哔哩哔哩大学
专  业 计算机科学与技术

  自我简介:

TA的其他文章

解题思路:先想一下阶乘,1!=1*1,2!=1*2,3!=1*2*3,可见2!=1!*2,3!=2!*3,所以可以把一个数的阶乘算完后存下来,下一个数乘上就是这个数的阶乘了。

注意事项 必须使用%Lf输出,否则会有精度损失

参考代码:

#include

int main()

{

    int i,n;

    long double sn=0;

    long double rest=1;

    scanf("%d",&n);

    for(i=1;i<=n;i++){

        rest=rest*i;//前者的阶乘乘上本身的阶乘等于本身的阶乘

        sn=sn+rest;

    }

    printf("%.0Lf",sn);//必须使用%Lf输出,否则会不兼容,精度会损失

return 0;

}


 

0.0分

1 人评分

  评论区

  • «
  • »