#38836: 解題思路


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [220.130.163.227]
最後登入時間 :
2024-04-27 01:36:12
a414. 位元運算之進位篇 -- c910335 | From: [203.204.21.18] | 發表日期 : 2023-12-27 09:04

使用While迴圈將N轉換成二進制的字串,但是這樣子會有TLE的情況出現,所以不將二進制結果存進字串中,而是在While迴圈裡直接進行判斷。因為使用While迴圈轉二進制這個方式會從二進制結果的最右邊開始計算,剛剛好符合題目的要求,所以就是判斷目前得到的數字是否為1,如果是1的話答案就加1,如果是0的話就直接把While迴圈break掉以節省時間。最後輸出存答案的變數即可。要注意的是本題時間給的很緊,所以不建議使用#include <iostream>而是直接使用#include <stdio.h>然後用scanf和printf進行輸入和輸出 (詳情請見範例程式碼)。

範例程式碼

 
#40070: Re: 解題思路


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [220.130.163.227]
最後登入時間 :
2024-04-27 01:36:12
a414. 位元運算之進位篇 -- c910335 | From: [220.130.163.227] | 發表日期 : 2024-04-26 12:17

新的網站!!!

 
ZeroJudge Forum