Наш друг Eliud успадкував ферму від своєї бабусі Tigist. Її бабуся була винахідницею і мала схильність будувати речі надто складно. У курятнику є цифровий дисплей, який показує закодоване число, що позначає позиції всіх яєць, які можна зібрати.
Eliud просить нас написати програму, яка показує справжню кількість яєць у курятнику.
Кодування інформації про позиції обчислюється так:
1 там, де яйце вже є, або 0 там, де місце порожнє. _ _ _ _ _ _ _
|E| |E|E| | |E|
_ _ _ _ _ _ _
|1|0|1|1|0|0|1|
89
4
_ _ _ _ _ _ _
| | | |E| | | |
_ _ _ _ _ _ _
|0|0|0|1|0|0|0|
8
1
Порахуйте кількість бітів зі значенням 1 у двійковому поданні числа.
Не чіпайте функцію підрахунку бітів, яку надає стандартна бібліотека! Натомість зробіть це самостійно, скориставшись іншими базовими інструментами.
Наведені вище інструкції синхронізовано зі спільним репозиторієм, щоб забезпечити узгодженість між усіма мовними треками. Цей додаток дає додаткові пояснення або за потреби змінює інструкції, щоб краще узгодити їх із цілями треку Clojure.
Важливо не використовувати наявні вбудовані функції зі схожою функціональністю до тієї функції, яку ми реалізуємо, адже це зменшило б навчальну цінність вправи.
У Clojure немає вбудованої функції для підрахунку кількості бітів у числі, тому у своїй реалізації ми можемо використати будь-яку функцію Clojure.
Однак у Java така функція є: bitCount.
Зареєструйтеся на Exercism, щоб вивчати й опановувати Clojure, а також 12 концепцій105 вправ та справжнє наставництво від людей, і все це безкоштовно.