求10000以内n的阶乘(信息学奥赛一本通-T1172)
生活随笔
收集整理的這篇文章主要介紹了
求10000以内n的阶乘(信息学奥赛一本通-T1172)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【題目描述】
求10000以內(nèi)n的階乘。
【輸入】
只有一行輸入,整數(shù)n(0≤n≤10000)。
【輸出】
一行,即n!的值。
【輸入樣例】
4
【輸出樣例】
24
【源程序】
#include<iostream> #include<cstring> using namespace std; int a[100000]; int main() {int n;int i,j;cin>>n;a[0]=1,a[1]=1;for(i=1;i<=n;i++)//高精乘{(lán)for(j=1;j<=a[0];j++)a[j]*=i;for(j=1;j<=a[0];j++){a[j+1]+=a[j]/10;a[j]%=10;}if(a[j]>0)//進(jìn)位處理{while(a[j]>10){a[j+1]+=a[j]/10;a[j]%=10;j++;}a[0]=j;}}for(i=a[0];i>=1;i--)cout<<a[i];return 0; }總結(jié)
以上是生活随笔為你收集整理的求10000以内n的阶乘(信息学奥赛一本通-T1172)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Let's go home(HDU-18
- 下一篇: 买书(信息学奥数一本通-T1293)