30. 數位電路模擬II

模擬一個數位IC,內有回饋電路與紀錄器電路。
輸入N 是二進位 10 位元,輸出是二進位 14 位元。
輸入範圍從 0000000000到 1111111111 (十進位 0~1023)

數位IC內有一個回饋電路,回饋方式:
C(N) = N    當 N(十進位) 為 0 或 N為 1 時
C(N) = C(N/2)     當 N(十進位) 為偶數 
C(N) = C((N+1)/2)   當 N(十進位) 為奇數 

數位IC內有一個紀錄器 R,會記錄回饋電路的回饋次數。
R(N) = [C(N) 的回饋次數]。例如 N=00001010 (十進位 10),
即 C(10)= C(5)=C(3)=C(2)=C(1)=1,則 R(10) = 4,共回饋 4 次。
 
此電路另有一個紀錄器 T,會加總所跑過的0~N次電路回饋次數,
即 T(N) = R(0) + R(1) +...+ R(N)。
以二進位制輸出所有回饋次數加總後的結果。
例如 T(10) = R(0)+R(1)+R(2)+R(3)+R(4)+...+R(10) = 00000000011001(十進位為 25)。

當輸入 -1時,結束執行。

【輸入說明】
第1行輸入第1個測試案例資料(二進位 10 bit)
第2行輸入第2個測試案例資料(二進位 10 bit)
....
直到輸入 -1 結束

範例輸入說明:
0000000011(十進位3)
-1

【輸出說明】
每一行輸出一個測試案例資料的結果(二進位 14 bit)。

範例輸出說明:
00000000000011 (T(3) = R(0) + R(1) + R(2) + R(3) = 0 + 0 + 1 + 2 = 3)


【測試資料一】
輸入:
0000000000
1111111111
1010101010
-1

輸出:
00000000000000
10001111110111
01011010100101

【測試資料二】
輸入:
1011101110
1010010110
0111111110
0110101010
-1

輸出:
01100101001101
01010111011101
00111111101111
00110011111011

【測試資料三】
輸入:
1010101010
0101010101
1011001101
1100100110
1011101010
-1

輸出:
01011010100101
00100111111110
01100000000011
01101101111101
01100100100101

【隱藏測試資料一】
輸入:
0101110110
1100001100
1101010000
-1

輸出:
00101100100111
01101001111001
01110100100001

【隱藏測試資料二】
輸入:
1100000000
1111111100
0000000111
1000110000
0011111111
-1

輸出:
01101000000001
10001111011001
00000000001110
01000111100001
00011011111001

【隱藏測試資料三】
輸入:
0001000100
1111011110
1101111011
1011011011
0110001100
-1

輸出:
00000101011101
10001010101101
01111011001111
01100010001111
00101111101101