2014-03-28 66 views
1

有沒有什麼辦法可以計算N的階乘,其中N> 200。是否有類似於C++中的Bigdata?因爲即使是長變量也不能存儲這麼大的數字。請告訴我任何處理這種大數字問題的方法?N的階乘,其中N大於200

+3

不能在標準C++,但也有庫,在那裏只是等待。 – chris

+1

請參閱http://stackoverflow.com/questions/12988099/big-numbers-library-in-c –

+1

另請參閱http://stackoverflow.com/questions/117429/handling-large-numbers-in-c和I當然,還有十幾個人......谷歌會節省你的時間。 – mah

回答

1

int或long類型對於您正在討論的值而言不夠大。

34! = 295232799039604140847618609643520000000

這幾乎適合128位。如果您的編譯器支持128位數字類型,則可以使用它來計算多達34的階乘。如果不是,或者需要更大的數字,則需要使用某種bignum庫。

bignum圖書館看到這個問題: Big numbers library in c++