A barátnőd, Eliud egy farmot örökölt a nagymamájától, Tigisttől. A nagymama feltaláló volt, és hajlamos volt rá, hogy a dolgokat túl bonyolultan építse meg. A tyúkólban van egy digitális kijelző, amely egy kódolt számot mutat: ez az összes felszedhető tojás pozícióját reprezentálja.
Eliud arra kér, hogy írj egy programot, amely megmutatja, valójában hány tojás van az ólban.
A pozícióinformáció kódolása a következőképpen számolódik ki:
1-et, egy üres helynél pedig 0-t. _ _ _ _ _ _ _
|E| |E|E| | |E|
_ _ _ _ _ _ _
|1|0|1|1|0|0|1|
89
4
_ _ _ _ _ _ _
| | | |E| | | |
_ _ _ _ _ _ _
|0|0|0|1|0|0|0|
8
1
A feladatod, hogy megszámold, hány 1-es bit van egy szám bináris ábrázolásában.
Ne nyúlj a standard könyvtárad által biztosított bitszámláló funkcióhoz! Oldd meg ezt magad, más alapvető eszközökkel.
A fenti utasítások egy közös adattárral vannak szinkronizálva, hogy minden nyelvi kurzuson egységesek legyenek. Ez a függelék további pontosítást nyújt, illetve szükség szerint módosítja az utasításokat, hogy jobban illeszkedjenek a Clojure-kurzus céljaihoz.
Fontos, hogy ne használj olyan meglévő beépített függvényeket, amelyek hasonló funkcióval rendelkeznek, mint a megvalósítandó függvény, mert ezzel csökkenne a feladat kívánt tanulási értéke.
A Clojure-ben nincs beépített függvény egy szám bitjeinek megszámolására, ezért bármilyen Clojure-függvényt használhatsz a megvalósításodban.
A Java viszont tartalmaz egy függvényt erre a célra: bitCount.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Clojure nyelvet 12 fogalom105 feladat segítségével, valódi emberi mentorálással, mindez ingyen.