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

艾利烏的蛋

簡單

簡介

你的朋友 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|

顯示器上的十進位數字

16

雞舍裡實際的蛋數量

1

說明

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

限制

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

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

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

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