1

试图计算一个大数的阶乘,例如1000!

static void Main(string[] args)
        {
            UInt64 fact = 1;

            for (UInt64 i = 1000; i > 0; i--)
            {
                fact = fact * i;
            }
            Console.WriteLine(fact); //returns 0, due to overflow UInt64, max fact is 56!

            Console.ReadKey();
        }

所以我问,是否有某种方法可以将更多变量加入集群,这样我就可以制作非常大的变量来存储“大”数字。

4

2 回答 2

5

您可以使用BigInteger. 这种类型可以存储任意大小的整数,直到内存不足。

于 2012-11-21T09:26:33.123 回答
2

在 .NET 4 BigInteger将做你想做的事。

C# 中的大整数也可能更有趣,因为它是一个非常相似的问题(嗯,更相似的答案)。

于 2012-11-21T09:26:51.710 回答