1. 程式人生 > >【高精度】高精度階乘

【高精度】高精度階乘

class tro 分享 sub data pid ble clu 問題

問題 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++){  
                temp
=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; }
View Code


【高精度】高精度階乘