1. 程式人生 > >CCF NOI1036. 進位制轉換 (C++)

CCF NOI1036. 進位制轉換 (C++)

1036. 進位制轉換

題目描述

模擬將任意給定的正整數n轉換成對應的二進位制數的過程:對於輸入的任意正整數n,輸出若干行“shang:* yu:*”的形式,表示其轉換過程。

輸入

輸入正整數n。

輸出

輸出其轉為二進位制的過程(具體見樣例)。

樣例輸入

13

樣例輸出

shang:6 yu:1
shang:3 yu:0
shang:1 yu:1
shang:0 yu:1

資料範圍限制

1<=n<=5000

C++程式碼

#include <iostream>
#include <cassert>
using namespace std; int main() { int n; cin >> n; assert(1<=n && n<=5000); while (n>0) { cout << "shang:" << n/2 << " yu:" << n%2 << endl; n /= 2; } return 0; }