【高精度】高精度階乘
阿新 • • 發佈:2018-07-22
class tro 分享 sub data pid ble clu 問題
提交: 297 解決: 58
[提交] [狀態] [討論版] [命題人:]
現在,修羅王要根據書上記載的內容施展隱匿魔法,這種隱匿魔法需要聚集龐大的暗元素,已知支持n小時的隱匿魔法需要n!數量的暗元素,例如,當n=5時,n!=5×4×3×2×1=120。現在輸入一個數n,求n(n<10000)的階乘即n!是多少。
問題 F: 【高精度】高精度階乘
時間限制: 1 Sec 內存限制: 64 MB提交: 297 解決: 58
[提交] [狀態] [討論版] [命題人:]
題目描述
《魔法寶典》對於修羅王是如此重要,是因為《寶典》裏記載了很多匪夷所思的魔法原理。例如很久以前,主流魔法界認為傳說中的隱身衣是無法實現的,他們的理論是光線進入人的眼睛才能引起視覺,如果有隱身衣存在,則其中的人由於沒有光線進入眼中也就看不見外面的情況。但是後來橫空出世的《寶典》裏卻詳細敘述了數種隱身衣的實現原理並成功地將之實現。現在,修羅王要根據書上記載的內容施展隱匿魔法,這種隱匿魔法需要聚集龐大的暗元素,已知支持n小時的隱匿魔法需要n!數量的暗元素,例如,當n=5時,n!=5×4×3×2×1=120。現在輸入一個數n,求n(n<10000)的階乘即n!是多少。
輸入
只有一個數即n。輸出
輸出答案即n!樣例輸入
3
樣例輸出
3!=6
#include <stdio.h> int a[50000]; int main(){ int temp,digit,n,i,j=0; while(scanf("%d",&n)!=EOF){ printf("%d!=",n); a[0]=1;digit=1; for(i=2;i<=n;i++){ int num=0; for(j=0;j<digit;j++){ tempView Code=a[j]*i+num; a[j]=temp%10; num=temp/10; } while(num){ a[digit]=num%10; num=num/10; digit++; } } for(i=digit-1;i>=0;i--)printf("%d",a[i]); printf("\n"); }return 0; }
【高精度】高精度階乘