加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数阶乘

发布时间:2020-12-14 03:59:12 所属栏目:大数据 来源:网络整理
导读:大数阶乘 时间限制: 3000 ?ms ?|? 内存限制: 65535 ?KB 难度: 3 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数m(0m=5000) 输出 输出m的阶乘,并在输出结束之后输入一个换行符 样例输入

大数阶乘

时间限制: 3000?ms ?|? 内存限制: 65535?KB
难度: 3
描述
我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?
输入
输入一个整数m(0<m<=5000)
输出
输出m的阶乘,并在输出结束之后输入一个换行符
样例输入
50
样例输出
30414093201713378043612608166064768844377641568960512000000000000

AC代码:

[cpp]? view plain copy
  1. #include<stdio.h>??
  2. int?a[20000];??
  3. void?ch(int?*a,int?n)??
  4. {??
  5. ????int?i,k;??
  6. ????for(i=19999;i>=0;i--)??
  7. ????{??
  8. ????????if(a[i])??
  9. ????????????break;??
  10. ????}??
  11. ????k=i;??
  12. for(i=0;i<=k;i++)??
  13. ????????a[i]=a[i]*n;??
  14. ????}??
  15. for(i=0;i<20000;i++)??
  16. if(a[i]>9)??
  17. ????????{??
  18. ????????????a[i+1]+=a[i]/10;??
  19. ????????????a[i]=a[i]%10;??
  20. ????????}??
  21. }??
  22. int?main()??
  23. int?n,i;??
  24. ????a[0]=1;??
  25. ????scanf("%d",&n);??
  26. for(i=1;i<=n;i++)??
  27. ????????ch(a,i);??
  28. ????for(;i>=0;i--)??
  29. ????????printf("%d",a[i]);??
  30. ????putchar(10);??
  31. return?0;??
  32. }??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读