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