📖 Документация Qumir

← Вернуться в Playground

← Все примеры

Факториал

Вычисление факториала числа: $n! = 1 \times 2 \times 3 \times \ldots \times n$. Например, $5! = 120$.

Показаны два способа: рекурсия и цикл.

Рекурсивный вариант

Главная программа

Считываем число и вызываем функцию факториал:

алг
нач
    цел n
    вывод "n = "
    ввод n
    вывод n, "! = ", факториал(n), нс
кон

Функция факториал

Объявление алг цел факториал(цел n) означает: функция принимает целое число n и возвращает целое число.

алг цел факториал(цел n)
нач
    если n <= 1
    то
        знач := 1
    иначе
        знач := n * факториал(n - 1)
    все
кон

Как это работает:

Например, факториал(4) вычисляется так: $4 \times 3 \times 2 \times 1 = 24$.

Итеративный вариант (через цикл)

Тот же результат, но без рекурсии — просто умножаем числа от 2 до $n$ в цикле:

алг цел факториал(цел n)
нач
    цел результат, i
    результат := 1
    нц для i от 2 до n
        результат := результат * i
    кц
    знач := результат
кон

Полная программа

алг
нач
    цел n
    вывод "n = "
    ввод n
    вывод n, "! = ", факториал(n), нс
кон

алг цел факториал(цел n)
нач
    если n <= 1
    то
        знач := 1
    иначе
        знач := n * факториал(n - 1)
    все
кон