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 に答える