首页 > 代码库 > AC日记——求10000以内n的阶乘 openjudge 1.6 14
AC日记——求10000以内n的阶乘 openjudge 1.6 14
14:求10000以内n的阶乘
- 总时间限制:
- 5000ms
- 内存限制:
- 655360kB
- 描述
求10000以内n的阶乘。
- 输入
- 只有一行输入,整数n(0<=n<=10000)。
- 输出
- 一行,即n!的值。
- 样例输入
100
- 样例输出
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
- 来源
- JP06
思路:
模拟;
来,上代码:
#include<cstdio>using namespace std;int n,len,cur=1,s[500010];int main(){ scanf("%d",&n); len=0; s[0]=1; for(int v=2;v<=n;v++) { for(int i=0;i<=len;i++) s[i]*=v; cur=0; for(int i=0;i<=len;i++) { s[i]+=cur; cur=0; if(s[i]>9) cur+=s[i]/10; s[i]%=10; } while(cur>0) s[++len]=cur%10,cur/=10; } for(int i=len;i>=0;i--) putchar(s[i]+‘0‘); return 0;}
AC日记——求10000以内n的阶乘 openjudge 1.6 14
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。