天天看點

(HDU2051 C++)BitsetBitset

Bitset

Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 28560 Accepted Submission(s): 21028

Problem Description

Give you a number on base ten,you should output it on base two.(0 < n < 1000)

Input

For each case there is a postive number n on base ten, end of file.

Output

For each case output a number on base two.

Sample Input

1

2

3

Sample Output

1

10

11

題意:十進制轉換為二進制輸出

解題方法:循環模2取餘再除以2,直至被除數為零,用數組記錄餘數,再反向輸出

源代碼如下:

#include<iostream>
using namespace std;
int main()
{
	int n;
	while (cin >> n)
	{
		int a[20], i;
		i = 0;      //記錄餘數的個數
		while (n!=0)
		{
			a[i++] = n % 2;
			n /= 2;
		}
		for (int j = i - 1; j>=0; j --)      //反向輸出
			cout << a[j];
		cout << endl;
	}
	return 0;
}