Cho số n. In bảng 4 cột: Decimal, Octal, Hexadecimal (chữ in hoa), Binary của các số từ 1 đến n. Căn phải theo độ dài của biểu diễn nhị phân của n.
Ví dụ n = 10:
1 1 1 1
2 2 2 10
3 3 3 11
4 4 4 100
5 5 5 101
6 6 6 110
7 7 7 111
8 10 8 1000
9 11 9 1001
10 12 A 1010
Kỹ thuật format
Độ rộng cột = len(bin(n)) - 2. Dùng format string {:>width}{specifier} với specifier: d, o, X, b.
Ví dụ mã nguồn
def solve(n):
l = len(bin(n)) - 2
for i in range(1, n + 1):
f = ""
for c in "doXb":
if f:
f += " "
f += "{:>" + str(l) + c + "}"
print(f.format(i, i, i, i))
n = 10
solve(n)
Đầu vào / Đầu ra
Input: 10
Output: (bảng 4 cột như trên)