有没有办法计算N的阶乘,其中N> 200.在c ++中有类似Bigdata的东西。因为即使是长变量也无法存储这么大的数字。请告诉我任何处理这种情况的方法大数问题????
答案 0 :(得分:1)
int或long类型对于你所谈论的值来说还不够大。
34! = 295232799039604140847618609643520000000
这几乎不适合128位。如果您的编译器支持128位数字类型,则可以使用它来计算最多34的阶乘。如果不是,或者如果您需要更大的数据,则需要使用某种bignum库。
查看bignum个库的此问题: Big numbers library in c++
答案 1 :(得分:1)
我为C ++实现了一个BigInteger。欢迎您使用它。
http://memmove.blogspot.com/2013/04/unlimited-unsigned-integer-in-c.html