Променлив клъстер за броене на факториел в c#

Опитвате се да преброите факториал на голямо число, например 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();
        }

Затова питам дали има някакъв начин за свързване на повече променливи към клъстер, за да мога да направя наистина голяма променлива за съхраняване на "голямо" число.


person MartinS    schedule 21.11.2012    source източник
comment
може да използва BigInteger за още по-големи числа   -  person Tigran    schedule 21.11.2012
comment
stackoverflow.com/ въпроси/930611/   -  person Anand Gautam    schedule 21.11.2012


Отговори (2)


Можете да използвате BigInteger. Този тип може да съхранява цели числа с произволен размер, докато не ви свърши паметта.

person Mark Byers    schedule 21.11.2012

В .NET 4 BigInteger ще направи това, което искате .

Големите цели числа в C# също може да представляват по-голям интерес, тъй като това е много подобен въпрос (е, по-скоро много подобен отговор).

person Chris    schedule 21.11.2012