pb1a38a600

Pitfalls of factorial computation

Nov 13th, 2026
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. Pitfalls of factorial computation
  2.  
  3. Помимо самого решения, собрал частые ошибки, которые новички допускают в этой задаче.
  4.  
  5. Задача
  6.  
  7. Вычислить факториал натурального числа n: n! = 1 · 2 · … · n, а 0! = 1. Самая первая задача на циклы в учебнике.
  8.  
  9. Решение
  10.  
  11. ``python
  12. def factorial(n: int) -> int:
  13. result = 1
  14. for i in range(2, n + 1):
  15. result *= i
  16. return result
  17.  
  18. print(factorial(6))
  19. `
  20.  
  21. Как это работает
  22.  
  23. Аккумулятор result умножается на числа от 2 до n. Итеративное решение предпочтительнее рекурсивного: оно не переполняет стек вызовов.
  24.  
  25. Пример работы
  26.  
  27. `text
  28. 720
  29. ``
  30.  
  31. Сложность
  32.  
  33. O(n) по времени, O(1) по памяти.
  34.  
  35. Частые ошибки
  36.  
  37. 1. Не обрабатывать крайние случаи. Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается.
  38. 2. Смешивать типы данных. Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов.
  39. 3. Писать код без проверки на маленьких примерах. Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.
  40.  
  41. Если решение заработало с первого раза — всё равно сверьтесь со списком ошибок: половина багов рождается при доработках.
  42.  
  43. View Full Gallery → https://go.cbrop.com/prse
  44.  
  45. Related:
  46.  
  47. https://pastebin.com/b3MwwbT6
  48. https://paste2.org/WFAV3AKh
  49. https://radicle.network/nodes/seed.pipapo.org/rad%3Az3cNLTFw1uj8P5kPkE45EPDcv1tgS/issues/4e0cd05abacce7dc4af0be8d8bd5ac620e214cd8
  50. https://pastelink.net/jaybvdi5
  51. https://hey.xyz/posts/25khebbkq0whjjj72xt
  52.  
Advertisement
Add Comment
Please, Sign In to add comment