#50255: Python土法煉鋼


abc1231334 (tl32m)

學校 : 長庚大學
編號 : 314314
來源 : [118.170.35.103]
最後登入時間 :
2025-08-19 00:53:50

如果不想用bin()函數,那就來手動計算二進位吧!
 
思路:
(0. 如果輸入是0,直接輸出0。)
1. 建立一個lst=[]來儲存計算結果。
2. 輸入n。n%2即是最後一位數。把這個數加入list。建議用str格式存進去,方便後續處理。例如這樣lst.append(str(n%2))
3. 接下來n=n//2。等於是把最後一位數踢掉了。
    (然後再來n%2就是下一位數)
4. 步驟2和3循環,直到n<1為止。所以可以用while n >= 1:來包住步驟2和3。
5. 最後,lst會儲存二進位的每一位數,由左而右是低位數到高位數。
6. 把lst的內容reverse,再join起來,就是答案了。然後把答案print出來。例如這樣,print("".join(lst))
 
 
大致結構如下
from sys import stdin
 
def binary(n:int):
    if n == 0:
        (略) 
    bin_lst = []
    while n >= 1:
        (略)
    bin_lst.reverse()
    print("".join(bin_lst))
 
#主程序入口
lines = stdin.readlines()
for i in lines:
    binary(int(i))