Base58 là bảng mã hoá cơ số 58 được thiết kế để tránh nhầm lẫn khi con người đọc/gõ tay (loại bỏ các ký tự dễ gây nhầm như 0, O, I, l); đây là bảng chữ được dùng để biểu diễn địa chỉ ví Bitcoin và nhiều định danh mật mã khác.
Bảng chữ Base58 chuẩn (đủ 58 ký tự, theo đúng thứ tự) là:
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Cho một số nguyên không âm n ở dạng thập phân (có thể rất lớn, tới 100 chữ số, không có số 0 thừa ở đầu trừ khi chính n=0). Hãy biểu diễn n trong hệ cơ số 58 dùng bảng chữ trên: liên tục lấy nmod58 làm chữ số ít quan trọng nhất, sau đó n←⌊n/58⌋, lặp lại cho tới khi n=0; chữ số có trọng số lớn nhất in ra trước. Riêng nếu n=0 ngay từ đầu, in ra đúng ký tự đầu tiên của bảng chữ (1).
Ví dụ: với n=58, ta có 58=1×58+0, hai chữ số (từ lớn đến nhỏ) là chữ số ứng với giá trị 1 và giá trị 0, tra bảng được 2 và 1, kết quả in ra là 21.
Một dòng duy nhất chứa số nguyên không âm n (dạng thập phân, tối đa 100 chữ số).
Một dòng chứa chuỗi Base58 biểu diễn n theo bảng chữ trên.
Ví dụ:
Đầu vào:
0
Đầu ra:
1
Đầu vào:
1
Đầu ra:
2
Đang tải editor...