#29856: C++ 紀錄


Super487 (Super487)

學校 : 國立交通大學
編號 : 182269
來源 : [140.113.92.29]
最後登入時間 :
2023-12-26 20:22:51
a034. 二進位制轉換 | From: [111.248.101.155] | 發表日期 : 2022-04-05 23:17

#include <iostream>

#include <cmath>

using namespace std;

 

int main() {

    int n;

    while (cin >> n) { // EOF

 

        int dig=0; // 2的dig次方最大且<=n

 

        while ( pow(2, dig) <= n ) { // 計算2的幾次方最大且<=n

            dig++;

        }

 

        dig--; // 因為上面會多加一次,所以要多扣一次

 

 

        for (int i=dig; i>=0; i--) {

 

            if ( pow(2, i) <= n ) { // 如果2的?次方小魚n就顯示1

                cout << '1';

                n -= pow(2, i);

            }

            else { 

                cout << '0';

            }

 

        }

 

        cout << "\n"; // 每一次輸出完答案要換行

        

    }

    return 0;

}

 
ZeroJudge Forum