Олимпиадный тренинг

Задача . Бинарный алгоритм нахождения НОД. Фрагмент кода (Python)


Задача

Темы:
Напишите фрагмент кода для нахождения наибольшего общего делителя для двух натуральных чисел с помощью бинарного алгоритма.

Входные данные:
   Натуральные числа A, B (оба числа по модулю не более 1018)
Выходные данные:
  Одно число - НОД (A,B)

Запрещено использовать другие подпрограммы, циклы, ряд стандартных функций и операцию умножения.
Примечание:
Для проверки четности числа можно воспользоваться оператором a&1 (возврашает True для нечётных а и False для четных)
Для целочисленного деления на 2 можно воспользоваться оператором a>>1 (равносильно оператору a//2

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

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