Треки
/
Red
Red
/
Вправи
/
Яйця Еліуда
Яйця Еліуда

Яйця Еліуда

Легка

Вступ

Наша подруга Еліуд успадкувала ферму від своєї бабусі Тігіст. Її бабуся була винахідницею і мала схильність будувати речі надмірно складним способом. У курнику є цифровий дисплей, який показує закодоване число, що представляє позиції всіх яєць, які можна зібрати.

Еліуд просить нас написати програму, яка показує фактичну кількість яєць у курнику.

Кодування інформації про позиції обчислюється так:

  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 Посилання відкривається в новому вікні або вкладці
Red Exercism

Час розпочати Яйця Еліуда?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Red, а також 50 вправ та справжнє наставництво від людей, і все це безкоштовно.