學習軌道
/
Factor
Factor
/
練習
/
艾利烏的蛋
艾利烏的蛋

艾利烏的蛋

簡單

簡介

你的朋友 Eliud 從奶奶 Tigist 那裡繼承了一座農場。 她的奶奶是位發明家,總愛把事情做得過於複雜。 雞舍裡有個數位顯示器,會顯示一個編碼過的數字,代表所有可能撿到的雞蛋的位置。

Eliud 請你寫一支程式,顯示雞舍裡實際的雞蛋數量。

位置資訊的編碼方式如下:

  1. 掃描每個可能下蛋的位置,有蛋就記下1,空位就記下0。
  2. 把這個數字從二進位轉成十進位。
  3. 把結果顯示在顯示器上。

範例 1

七個獨立巢箱排成一列,第一、第三、第四和第七個巢箱各有一顆蛋。

 _ _ _ _ _ _ _
|E| |E|E| | |E|

對應的二進位

1011001

 _ _ _ _ _ _ _
|1|0|1|1|0|0|1|

顯示器上的十進位數字

89

雞舍裡實際的雞蛋數量

4

範例 2

七個獨立巢箱排成一列,只有第四個巢箱裡有一顆蛋。

 _ _ _ _ _ _ _
| | | |E| | | |

對應的二進位

0001000

 _ _ _ _ _ _ _
|0|0|0|1|0|0|0|

顯示器上的十進位數字

8

雞舍裡實際的雞蛋數量

1

說明

你的任務是計算一個數字的二進位表示法中有多少個 1 位元。

限制

不要使用標準函式庫提供的位元計數功能!請改用其他基本工具,靠自己解決這個問題。

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

準備好開始 艾利烏的蛋 了嗎?

註冊 Exercism,透過 47 個概念163 個練習 和真人引導來學習並精通 Factor,全部免費。