Алгоритм Евкліда - широко відомий алгоритм обчислення найбільшого спільного дільника (GCD) двох позитивних цілих чисел.
Алгоритм
Для цієї задачі алгоритм описаний нижче:
Показати два входи як сусідні рядки певного символу,
наприклад, вхід3,4
може бути представлений суміжними лініями000
та0000
Перетворіть перші
length(short_line)
символи в довшому рядку в іншого символу, скажіть, що-
це виглядає так000
і---0
Усуньте перші
length(short_line)
символи у довшому рядку.
тепер000
,0
Повторіть крок 2 і 3 до двох мають однакову довжину, використовуючи коротші і довші рядки після кожної ітерації, наприклад
000
,0
-00
,0
00
,0
-0
,0
0
,0
- Ви можете вибрати, чи зупинитись тут, чи продовжити ітерацію та перетворити один із рядків у порожній рядок.
Кожен з цих кроків повинен бути розділений інтервалом між 0,3s та 1,5s.
Змагання
Напишіть програму, яка з урахуванням двох натуральних чисел як вхідних даних створює вихід, який виглядає точно так само, як вихід алгоритму, наведеного вище. Ви можете використовувати інші символи ASCII, що друкуються непробілими місцями, ніж 0
та-
, але бути послідовними і використовувати тільки два символ. Ви також можете використовувати альтернативні алгоритми за умови, що вихід, включаючи терміни, точно такий же, як був би створений алгоритмом вище.
Приклади
Це приклад із вхідними даними 24,35
, які є копрімерами, тому їх GCD дорівнює 1.
Це приклад із вхідними даними 16,42
, які мають GCD 2.
Правила
- Це код-гольф , тому виграють найкоротші байти
- Стандартні лазівкиЗастосовуються
- Ви можете вважати, що введенням є додатні десяткові цілі числа
Роз'яснення
- Рядки, що представляють числа, повинні залишатися у своєму початковому порядку, тобто перший та другий рядки першого відображеного "кадру" повинні бути першим та другим рядками відповідно у всіх наступних кадрах.
- Після закінчення алгоритму додаткові видимі об'єкти не повинні з’являтися. Однак це також означає, що поряд з порожніми рядками буде добре пропустити рядки, якщо ви впевнені, що останній "кадр" відображається принаймні стільки ж часу, як і всі інші кадри перед вимиканням.
:-)