Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để in hex bát phân thập phân và nhị phân của n số đầu tiên

Giả sử chúng ta có một giá trị n. Chúng ta phải in tương đương thập phân, bát phân, thập lục phân và nhị phân của n số đầu tiên (1 đến n) trong bốn cột khác nhau. Như chúng ta đã biết, chúng ta có thể biểu thị các số với các ký tự tiền tố d, o, X và b tương ứng với hệ thập phân, bát phân, thập lục phân và thập phân.

Vì vậy, nếu đầu vào là n =10, thì đầu ra sẽ là

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

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • l:=(độ dài của nhị phân tương đương với n) - 2
  • đối với tôi trong phạm vi từ 1 đến n, thực hiện
    • f:=chuỗi trống
    • đối với mỗi ký tự c trong "doXb", hãy thực hiện
      • nếu f không trống, thì
        • f:=f ghép một khoảng trống
      • f:=f + chuỗi định dạng căn phải bằng cách chuyển đổi l thành chuỗi sau đó nối c
    • chuyển i bốn lần đến chuỗi được định dạng f và in dòng

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơ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

10

Đầu ra

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