有哪些数据结构可以帮助我存储和计算超过50位的数字的阶乘?
答案 0 :(得分:6)
尝试使用Arbitrary Precision或GMP等BigDigits整数库。
答案 1 :(得分:1)
使用Stirling formula估算大{n} n!
。存储号码的最佳方式应该是scientific notation,例如10^(x^y)
表示非常大的数字。
答案 2 :(得分:0)
最简单的方法可能就是使用char*
,只要你需要没有特定的约束,它就可以轻松管理操作。
当然,这不是最紧凑的方法,但如果你真的不需要效率,它认为它可以很好地工作。
编辑:因为我认为你确实想知道如何以编程方式进行操作,所以没有谈论任何关于bigints的lib。答案 3 :(得分:0)
看到Jamie计算的位数,我猜这里的位数会大于宇宙中估计的基本粒子数。所以这是另一种表明你的问题在我们所知道的世界上没有解决方案的方式。