轨道
/
Ballerina
Ballerina
/
练习
/
Eliud 的蛋
Eliud 的蛋

Eliud 的蛋

简单

简介

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

准备好开始 Eliud 的蛋 了吗?

注册 Exercism,借助 60 个练习 和真人导师指导,学习并掌握 Ballerina,全部免费。