1172:求10000以内n的阶乘
Posted jzxnl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1172:求10000以内n的阶乘相关的知识,希望对你有一定的参考价值。
传送门:http://ybt.ssoier.cn:8088/problem_show.php?pid=1172
【题目描述】
求10000以内n的阶乘。
【输入】
只有一行输入,整数n(0≤n≤10000)。
【输出】
一行,即n!的值。
【输入样例】
4
【输出样例】
24
直接乘去就OK了
#include<iostream> #include<cstring> #define N 100010 using namespace std; int n,a[N],lena=1; int main() cin>>n; if(n==0) cout<<0<<endl; return 0; a[0]=1; for(int k=2;k<=n;k++) for(int i=0;i<lena;i++)a[i]*=k; for(int i=0;i<lena;i++) if(a[i]>9) a[i+1]+=a[i]/10; a[i]%=10; if(i==lena-1)lena++; for(int i=lena-1;i>=0;i--)cout<<a[i]; cout<<endl;
以上是关于1172:求10000以内n的阶乘的主要内容,如果未能解决你的问题,请参考以下文章