一、實驗目標
輸入一個正整數,轉換為二進位輸出。
輸入樣例1:
14
輸出樣例1:
1110
數據範圍:
* n <= 2^31
二、分析
1、思路
循環%2求餘,剩下商,直到商為0退出。
2、方案和步驟
用一個數組a[100]來保存二進位,用last表示當前存儲的位,last=1表示二進位的個位數。
while(n>0) {
a[++last] = n % 2;
n /= 2;
}
注意數組的存儲和輸出順序是相反的,輸出的循環要反著來。
三、參考代碼
#include <iostream>
using namespace std;
int n;
int a[100], last;
int main() {
int n;
cin>>n;
while(n>0) {
a[++last] = n % 2;
n /= 2;
}
for(int i=last; i>=1; i--)
cout<<a[i];
cout<<endl;
return 0;
}
如果你對數論編程感興趣,可以到itbegin網站上,輸入短碼100701,就可以看到今天的知識,跟著老師學習,也可以自己練習。