#28791: Python 解答


oxxostudio (oxxo.studio)

學校 : 不指定學校
編號 : 173961
來源 : [220.133.228.250]
最後登入時間 :
2022-07-21 09:26:00
a414. 位元運算之進位篇 -- c910335 | From: [220.133.228.250] | 發表日期 : 2022-01-03 16:30

因為這題的測試資料很多,所以使用 stdin 的方式輸入,避免產生 TLE 超時的狀況。

取得輸入資料後,使用 bin 的方法將數字轉換成二進位的字串,
轉換字串後,先計算轉換後的長度 x,
接著使用 rstrip 的方法將最右邊的 1 都去除,在計算去除 1 的長度 y,
兩者相減就是進位的次數。

解答:https://steam.oxxostudio.tw/category/python/zerojudge/a414.html

因為二進位的 1+1 表示進位,進位會一直到碰到 0 為止,
所以如果最右邊是 111,加上 1 之後會變成 1000 就是進位三次,
如果是 101 加上 1 變成 110 就是進位一次。

 
ZeroJudge Forum