Виклик
Враховуючи ASCII подання вавілонського числа як вхідного, виведіть це число західноарабськими цифрами.
Вавілонська система числення
Як рахували вавилонян? Цікаво, що вони використовували систему Base 60 з елементом системи Base 10. Розглянемо спочатку одиничний стовпчик системи:
Вавілоняни мали лише три символи: T
(або, якщо ви можете їх віддати:), 𒐕
який являв собою 1, і <
(або, якщо ви можете видати його:), 𒌋
який представляв 10, і \
(або, якщо ви його висловлюєте:), 𒑊
який представляв нуль.
Примітка: Технічно \
(або 𒑊
) не дорівнює нулю (оскільки вавілоняни не мали поняття «нуль»). «Нуль» був винайдений пізніше, тому \
символом-заповнювачем було додано пізніше, щоб запобігти двозначності. Однак для цілей цього виклику достатньо вважати \
нулем
Отже, у кожному стовпчику ви просто додаєте значення символів, наприклад:
<<< = 30
<<<<TTTTTT = 46
TTTTTTTTT = 9
\ = 0
Ніколи не буде більше п'яти <
чи більше дев'яти T
у кожному стовпчику. \
завжди відображатиметься окремо в стовпці.
Тепер нам потрібно поширити це на додавання більше стовпців. Це працює точно так само, як і будь-яка інша база шістдесят, де ви помножите значення крайнього правого стовпця на , лівого на , лівого на тощо. Потім ви додаєте значення кожного, щоб отримати значення числа.
Стовпці будуть розділені пробілами, щоб запобігти двозначності.
Деякі приклади:
<< <TT = 20*60 + 12*1 = 1212
<<<TT \ TTTT = 32*60^2 + 0*60 + 4*1 = 115204
Правила
- Ви можете прийняти або вхід ASCII (
T<\
), або Unicode (𒐕𒌋𒑊
) - Введене число завжди буде менше
<
S завжди буде зліва відT
ї в кожному стовпчику\
завжди відображатиметься окремо в стовпці
Перемога
Виграє найкоротший код у байтах.
<<<<TTTTTT <TTTTTTT <<<<TTTTTT <<<<
"How did the Babylonians count? Interestingly, they used a Base 60 system with an element of a Base 10 system."
Який використовується і сьогодні; вавілонська система чисел - саме те, що ми використовуємо для годинників. Дві десяткові цифри кожна секунди, хвилини та години, 60 секунд до хвилини, 60 хвилин до години.