Следующая программа — один из вариантов решения задачи 5
(Расширенный алгоритм Евклида). Но в ней есть ошибки.
Найдите их!
#из a и b вводится сначала наибольшее, затем наименьшее def evkl(a, b): a_=A*a[0]+B*a[1] b_=A*b[0]+B*b[1] c=a_//b_ r=[a[0]-c*a[1], b[0]-c*b[1]] if a_%b_==0: return b return evkl(b, r) numbers= [int(i) for i in input().split()] A=max(numbers) B=min(numbers) m, n= evkl([1, 0], [0, 1]) print (A*m+B*n, m, n) |
Подсказка.
Если совсем ничего не выходит, и вам кажется, что программа правильная,
попробуйте подать ей на вход такую пару: 11 8 (или 39 17, или 125 23).