Как можно вычислить большие факториалы с помощью C #? Калькулятор Windows в Win 7 переполняется на Факториале (3500). Как вопрос программирования и математики, мне интересно узнать, как можно вычислить факториал большего числа (может быть, 20000) на C #. Есть указатели?
[Edit] Я только что проверил вычисление на Win 2k3, так как я помню, как делал более крупный факториал на Win 2k3. Я был удивлен тем, как все обошлось.
Calc на Win2k3 работал даже с большими числами. Я попробовал! 50000 и получил ответ: 3.3473205095971448369154760940715e + 213236
Это было очень быстро, пока я все это делал.
Главный вопрос здесь не только в том, чтобы определить подходящий тип данных, но и немного математический. Если я попытаюсь написать простой факториальный код на C # [рекурсивный или цикл], производительность будет действительно плохой. На получение ответа уходит несколько секунд. Как вычисление в Windows 2k3 (или XP) может выполнить такой огромный факториал менее чем за 10 секунд? Есть ли другой способ программного вычисления факториала в C #?