4. Буратино и стандартный поиск НОДа. Моделирование

☰ Теория

При выполнении Алгоритма Евклида можно заметить, что вычитание из Большего числа идет до тех пор, пока вместо Большего числа не останется остаток от деления Большего на Меньшее
Это позволяет модифицировать Алгоритм Евклида:
Найди остаток от деления Большего на Меньшее и запиши найденный остаток вместо Большего.
Продолжай пока остаток больше нуля
Большее число и есть НОД
 
Запишем фрагментом кода
 #
A, B – неотрицательные числа, для которых надо найти НОД
while ( B !=0 ) : #  пока остаток не равен нулю
        A, B = B, A%B  # используем тот факт, что A%B < B (остаток всегда меньше числа)
# Значение числа А и есть НОД

Примечание: Проверку на то, что A>B делать не надо. Если перед while A < B, то оператор A, B = B, A%B просто поменяет значения A  и B.
Замечание: В арифметике НОД(
x,y) определяется для натуральных чисел и не может быть больше min(x,y) и меньше 1. При «расширении» понятия НОД для целых чисел удобно считать, что НОД(x, y) это «арифметический» НОД(|x|, |y|) для ненулевых значений и НОД (x, 0) = |x| для случая x?y=0 (значит НОД (0,0)=0) 

 

Буратино решил похвастаться своими успехами в математике перед котом Базилио и лисой Алисой.
Кот Базилио был потомком "кота ученого" поэтому знал некоторые секреты математики.
Лиса Алиса сказала Буратино, что в "стране Дураков" можно добыть быстрый алгоритм нахождения НОД (см. теорию), а кот Базилио показал несколько решений.
Попробуйте, используя примеры, написать программу, которая будет выводить аналогичные решения.

Входные данные : Числа A, B (числа записаны в две строки, каждое не более 1000000000). Гарантируется, что A не равно B.
Выходные данные: Промежуточные результаты вычислений (набор строк, в каждой по два  числа). В последней стороке одно число - НОД 
Примечание :
Первая строка содержит начальное состояние (1-е число, 2-е число)
Последняя строка содержит одно число -  значение НОД
48
72 
48 72
48 24
0 24
24
33
45
33 45
33 12
9 12
9 3
0 3
3
126
35
126 35
21 35
21 14
7 14 
7 0
7

Напишите программу
Auto
       

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python1
Комментарий учителя