Медленно и подробно: вычисление факториала
Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.
Задача
Вычислить факториал натурального числа 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. Входные данные. Проверяем, что приходит в функцию, и какие значения считаются корректными.
- Шаг 2. Основной цикл. Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
- Шаг 3. Результат. Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.
Когда каждый шаг понятен, доработка решения перестаёт быть лотереей.
Related:
- rycerska
- Несколько вариантов решения: быстрая сортировка
- Осваиваем задачу: переворот строки
- amerlita longdur
- A step-by-step look at the Fibonacci sequence
- Silk-024 Roxy Mendez Jessica Silk Rides Dildo
- کس تپل ایرانی
- Осваиваем задачу: вычисление факториала
- سكس مترجم اخ واخته
- oven brick pizza near
- Ловушки новичков при решении: проверка анаграмм
- Типичные ошибки при решении: проверка числа на простоту
- 北北北砂
- madpielol
- MC Bionica and Sofia Felix Sensual Intimate Photo Gallery
- افلام سكس السودان
- Решаем и тестируем: максимум и минимум списка
- braden sherota gay
- Ловушки новичков при решении: вычисление факториала
- Рассматриваем задачу: подсчёт частот слов
- descargar xno
- Медленно и подробно: среднее значение списка
- https://paper.wf/annakrause79log/sassy-poonam-xxx-video-hd
- acompanhantes arapiraca
- ai去衣
- Violet Myers Prone Bone Exclusive Videos | Curvy Brunette Action
- Scarlet Louise Anal Pussy to Mouth Sex with Toy Boy | sbc 0058
- marci moral leaked