Пошаговый разбор: вычисление факториала
Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.
Задача
Вычислить факториал натурального числа n: n! = 1 · 2 · … · n, а 0! = 1. Самая первая задача на циклы в учебнике.
Решение
def factorial(n: int) -> int:
result = 1
for i in range(2, n + 1):
result *= i
return result
print(factorial(6))
Как это работает
Аккумулятор result умножается на числа от 2 до n. Итеративное решение предпочтительнее рекурсивного: оно не переполняет стек вызовов.
Пример работы
720
Сложность
O(n) по времени, O(1) по памяти.
Разбор по шагам
1. Шаг 1. Входные данные. Проверяем, что приходит в функцию, и какие значения считаются корректными. 2. Шаг 2. Основной цикл. Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации. 3. Шаг 3. Результат. Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.
Когда каждый шаг понятен, доработка решения перестаёт быть лотереей.
Related:
Частые ошибки при решении: сортировка слиянием
Omas mit großen Titten – Geile Oma Pornos und Sexbilder
Ловушки новичков при решении: вычисление факториала
Common mistakes in the Fibonacci sequence
Ловушки новичков при решении: сортировка пузырьком
Gals of Gurk Nude: OnlyFans Leaks, Photos and More