pb1a38a600

Common mistakes in the Euclidean algorithm for GCD

Nov 13th, 2026
15
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. Common mistakes in the Euclidean algorithm for GCD
  2.  
  3. Разберём решение и подводные камни — их обычно не видно в готовом коде из учебника.
  4.  
  5. Задача
  6.  
  7. Найти НОД двух натуральных чисел a и b — классическая задача школьной математики и один из древнейших алгоритмов.
  8.  
  9. Решение
  10.  
  11. ``python
  12. def gcd(a: int, b: int) -> int:
  13. while b:
  14. a, b = b, a % b
  15. return a
  16.  
  17. print(gcd(48, 18))
  18. `
  19.  
  20. Как это работает
  21.  
  22. Алгоритм Евклида: НОД(a, b) = НОД(b, a mod b). Остаток всегда меньше делителя, поэтому числа быстро уменьшаются: (48, 18) → (18, 12) → (12, 6) → (6, 0).
  23.  
  24. Пример работы
  25.  
  26. `text
  27. 6
  28. ``
  29.  
  30. Сложность
  31.  
  32. O(log min(a, b)) по времени, O(1) по памяти.
  33.  
  34. Частые ошибки
  35.  
  36. 1. Не обрабатывать крайние случаи. Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается.
  37. 2. Смешивать типы данных. Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов.
  38. 3. Писать код без проверки на маленьких примерах. Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.
  39.  
  40. Заметив такую ошибку в чужом коде, вы уже мыслите как ревьюер.
  41.  
  42. View Full Gallery → https://go.cbrop.com/prse
  43.  
  44. Related:
  45.  
  46. https://rentry.org/ekaterina-naturally-735237
  47. https://mega.nz/file/jkABSZBI#X_ZktnqMoAJ99--YEExMIqr2AjuZ-gA0iLltIRvm-oM
  48. https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/tobrut-colmek-5783fb.pdf
  49. https://pastebin.com/KnnphvxG
  50. https://privatebin.devol.it/?a24a6b42c3eafe9d#DGfb6rKWNLjV9V2Uss7Mv5PiecowatnGQuTehXXAAU1d
  51.  
Add Comment
Please, Sign In to add comment