All Your Base

All Your Base

中等

簡介

你剛被聘為數學教授。 你的第 1 週過得很順利,但到了第 2 週,事情有點不對勁。 問題在於,學生給的每個答案都是錯的! 幸好,你的數學能力讓你找出了問題所在:學生的答案_確實_是對的,只是全都是二進位(以 2 為底)! 令人驚訝的是,原來學生每週使用的進位制都不一樣。 為了幫你快速驗證學生的答案,你將會打造一個能在不同進位制之間轉換的工具。

說明

將某個進位制中的一串數字(代表一個數)轉換成另一個進位制中的一串數字,代表同一個數。

Note

試著自己實作這個轉換吧。 不要使用其他現成的工具來幫你完成轉換。

關於位值記數法

在位值記數法中,一個以b為底的數可以理解為b的各次方的線性組合。

數字 42,以十進位表示,代表:

(4 × 10¹) + (2 × 10⁰)

數字 101010,以二進位表示,代表:

(1 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (0 × 2²) + (1 × 2¹) + (0 × 2⁰)

數字 1120,以三進位表示,代表:

(1 × 3³) + (1 × 3²) + (2 × 3¹) + (0 × 3⁰)

沒錯。上面這三個數字完全相同。恭喜!

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
YAMLScript Exercism

準備好開始 All Your Base 了嗎?

註冊 Exercism,透過 60 個練習 和真人引導來學習並精通 YAMLScript,全部免費。