Вычислить факториал больших чисел - C#

Формулировка задачи:

Есть формула вероятности распределения Пуассона, в которую входит k!, следовательно при большем k ни одного типа данных не хватает для хранения такого числа, как можно реализовать факториал допустим 100 или 1000, слышал что-то про длинную арифметику, но как я понял там каждое число храниться в элементе массива, а их целиком то в формуле использовать не получиться...

Код к задаче: «Вычислить факториал больших чисел - C#»

textual
    public class PoissonRandom
    {
        private readonly Random _rand = new Random();
        private readonly double _mu;
 
        public PoissonRandom(double mu)
        {
            _mu = mu;
        }
 
        public double GetNumber(uint k)
        {
            double result = Math.Exp(-_mu);
            for (uint i = 1; i <= k; i++)
            {
                result *= _mu/i;
            }
            return result;
        }
    }

13   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ