2014-03-28 51 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++