Deine Freundin Eliud hat einen Bauernhof von ihrer Oma Tigist geerbt. Ihre Oma war Erfinderin und neigte dazu, Dinge übertrieben kompliziert zu bauen. Der Hühnerstall hat eine digitale Anzeige, die eine codierte Zahl zeigt. Diese Zahl steht für die Positionen aller Eier, die eingesammelt werden könnten.
Eliud bittet dich, ein Programm zu schreiben, das die tatsächliche Anzahl an Eiern im Hühnerstall anzeigt.
Die Codierung der Positionsinformationen wird so berechnet:
1 für ein vorhandenes Ei oder eine 0 für einen leeren Platz. _ _ _ _ _ _ _
|E| |E|E| | |E|
_ _ _ _ _ _ _
|1|0|1|1|0|0|1|
89
4
_ _ _ _ _ _ _
| | | |E| | | |
_ _ _ _ _ _ _
|0|0|0|1|0|0|0|
8
1
Deine Aufgabe ist es, die Anzahl der 1-Bits in der Binärdarstellung einer Zahl zu zählen.
Lass die Finger von der Bit-Zähl-Funktionalität, die deine Standardbibliothek bereitstellt! Löse diese Aufgabe stattdessen selbst mit anderen grundlegenden Mitteln.
Die obigen Anweisungen werden mit einem gemeinsamen Repository synchronisiert, um Konsistenz über alle Sprach-Tracks hinweg zu gewährleisten. Dieser Anhang bietet zusätzliche Klarstellungen oder passt die Anweisungen nach Bedarf an, damit sie besser zu den Zielen des Clojure-Tracks passen.
Wichtig ist, dass du keine vorhandenen eingebauten Funktionen mit ähnlicher Funktionalität verwendest wie die Funktion, die du implementierst, denn das würde den beabsichtigten Lernerfolg der Übung schmälern.
In Clojure gibt es keine eingebaute Funktion, um die Anzahl der Bits in einer Zahl zu zählen, daher kannst du in deiner Implementierung jede Clojure-Funktion verwenden.
Java enthält jedoch eine Funktion für diesen Zweck: bitCount.
Melde dich bei Exercism an, um Clojure mit 12 Konzepte105 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.