Вычисление факториалов в C #

Как можно вычислить большие факториалы с помощью C #? Калькулятор Windows в Win 7 переполняется на Факториале (3500). Как вопрос программирования и математики, мне интересно узнать, как можно вычислить факториал большего числа (может быть, 20000) на C #. Есть указатели?

[Edit] Я только что проверил вычисление на Win 2k3, так как я помню, как делал более крупный факториал на Win 2k3. Я был удивлен тем, как все обошлось.

  1. Calc на Win2k3 работал даже с большими числами. Я попробовал! 50000 и получил ответ: 3.3473205095971448369154760940715e + 213236

  2. Это было очень быстро, пока я все это делал.

Главный вопрос здесь не только в том, чтобы определить подходящий тип данных, но и немного математический. Если я попытаюсь написать простой факториальный код на C # [рекурсивный или цикл], производительность будет действительно плохой. На получение ответа уходит несколько секунд. Как вычисление в Windows 2k3 (или XP) может выполнить такой огромный факториал менее чем за 10 секунд? Есть ли другой способ программного вычисления факториала в C #?

16
задан Rahul Soni 16 November 2010 в 03:20
поделиться