小玉米學編程:東方博宜 T1108 - 正整數N轉換成一個二進制數,C

2024年2月6日 20点热度 0人点赞

今天分享的是東方博宜 T1108 - 正整數N轉換成一個二進制數,C 的解題方法。

【題目描述】

/*

題目描述

輸入一個不大於 3276732767 的整數 nn ,將它轉換成一個二進制數。

輸入

輸入隻有一行,包括一個整數 nn (0 \le n \le 327670≤n≤32767)。

輸出

輸出隻有一行。

樣例

輸入:

100

輸出復制:

1100100

輸入:

0

輸出:

0

*/

【解題思路】

/*

本題考察的十進制轉化成二進制的方法

很簡單,就是不斷的模2,得到的結果反序組合就可以了

例如8 ,轉化成二進制的過程為

8 / 2 = 4 ...... 0

4 / 2 = 2 ...... 0

2 / 2 = 1 ...... 0

1 / 2 = 0 ...... 1

倒序取餘數,得到答案

所以本題也適合用遞歸的方法來做

*/

【參考代碼】

#include <bits/stdc .h>

using namespace std;

string fun(int n){

if (n / 2 == 0){

return to_string(n % 2);

}else{

return fun(n / 2) to_string(n % 2);

}

}

int main() {

int n;

cin >> n;

cout << fun(n) << endl;

return 0;

}