Урок C++ 44: Факториал числа
Чему равен факториал отрицательного числа?
Если честно следуя определению, попытаться посчитать факториал от отрицательного числа, то ничего не получится: убывающий ряд целых чисел никогда не закончится и ни к какому результату мы не придëм. Однако в конечных арифметиках результат получится вполне определëнным. В предыдущей заметке мы упомянули теорему Уилсона которая говорит чему равен факториал наибольшего числа в модулярной арифметике с простым модулем: Но эта теорема ничего не говорит нам о том, как выглядят прочие факториалы, если вычислять их в конечном поле ℤ/pℤ...
Считаем факториал
Из школьного курса математики вы должны помнить, что такое факториал. Факториалом числа n называют произведение всех целых чисел от 1 до n. Попробуем посчитать его двумя способами. Для начала замечание, общее для обоих способов. Нам до начала расчёта нужно проверить, что пользователь ввёл целое положительное число. Для этого введём его как строку и проверим, чтобы там были только цифры. После проверки при возможности преобразуем в число. Простой классический способ подсчёта факториала - либо увеличиваем в цикле множители от 2 до n, либо наоборот, уменьшаем...