Thử thách
Đưa ra một đại diện ASCII của một số Babylon làm đầu vào, xuất số đó bằng các chữ số Ả Rập phương Tây.
Hệ thống số Babylon
Người Babylon đã tính như thế nào? Điều thú vị là, họ đã sử dụng hệ thống Base 60 với thành phần là hệ thống Base 10. Trước tiên chúng ta hãy xem xét cột đơn vị của hệ thống:
Người Babylon chỉ có ba biểu tượng: T
(hoặc, nếu bạn có thể kết xuất nó 𒐕
:) đại diện cho 1 và <
(hoặc, nếu bạn có thể kết xuất nó 𒌋
:) đại diện cho 10 và \
(hoặc, nếu bạn kết xuất nó 𒑊
:) đại diện cho số không.
Lưu ý: Về mặt kỹ thuật, \
(hoặc 𒑊
) không phải là số không (vì người Babylon không có khái niệm "không"). 'Zero' được phát minh sau đó, do đó, \
một biểu tượng giữ chỗ được thêm vào sau đó để ngăn ngừa sự mơ hồ. Tuy nhiên, với mục đích của thử thách này, nó đủ để coi \
là không
Vì vậy, trong mỗi cột, bạn chỉ cần thêm giá trị của các ký hiệu, ví dụ:
<<< = 30
<<<<TTTTTT = 46
TTTTTTTTT = 9
\ = 0
Sẽ không bao giờ có nhiều hơn năm <
hoặc nhiều hơn chín T
trong mỗi cột. \
sẽ luôn xuất hiện một mình trong cột.
Bây giờ, chúng ta cần mở rộng điều này để thêm nhiều cột hơn. Điều này hoạt động chính xác như bất kỳ cơ sở sáu mươi nào khác, trong đó bạn nhân giá trị của cột ngoài cùng bên phải với , một bên trái với 60 1 , một bên trái với 60 2 , v.v. Sau đó, bạn cộng giá trị của từng số để lấy giá trị của số.
Các cột sẽ được phân tách bằng khoảng trắng để tránh sự mơ hồ.
Vài ví dụ:
<< <TT = 20*60 + 12*1 = 1212
<<<TT \ TTTT = 32*60^2 + 0*60 + 4*1 = 115204
Quy tắc
- Bạn có thể chấp nhận đầu vào ASCII (
T<\
) hoặc đầu vào Unicode (𒐕𒌋𒑊
) - Số đã nhập sẽ luôn dưới
- Các
<
s sẽ luôn luôn được ở phía bên trái củaT
s trong mỗi cột \
sẽ luôn xuất hiện một mình trong một cột
Chiến thắng
Mã ngắn nhất trong byte thắng.
<<<<TTTTTT <TTTTTTT <<<<TTTTTT <<<<
"How did the Babylonians count? Interestingly, they used a Base 60 system with an element of a Base 10 system."
Mà vẫn còn được sử dụng ngày nay; hệ thống số Babylon chính xác là những gì chúng ta sử dụng cho đồng hồ. Hai chữ số thập phân mỗi chữ số cho giây, phút và giờ, 60 giây đến phút, 60 phút đến giờ.