La tua amica Eliud ha ereditato una fattoria da sua nonna Tigist. Sua nonna era un'inventrice e aveva la tendenza a costruire le cose in modo eccessivamente complicato. Il pollaio ha un display digitale che mostra un numero codificato che rappresenta le posizioni di tutte le uova che si potrebbero raccogliere.
Eliud ti chiede di scrivere un programma che mostri il numero effettivo di uova nel pollaio.
La codifica delle informazioni sulla posizione si calcola come segue:
1 per un uovo presente o uno 0 per un punto vuoto. _ _ _ _ _ _ _
|E| |E|E| | |E|
_ _ _ _ _ _ _
|1|0|1|1|0|0|1|
89
4
_ _ _ _ _ _ _
| | | |E| | | |
_ _ _ _ _ _ _
|0|0|0|1|0|0|0|
8
1
Il tuo compito è contare il numero di bit pari a 1 nella rappresentazione binaria di un numero.
Lascia stare la funzionalità di conteggio dei bit fornita dalla tua libreria standard! Risolvi questo esercizio da solo, usando invece altri strumenti di base.
Le istruzioni qui sopra sono sincronizzate con un repository condiviso per garantire la coerenza tra tutte le tracce dei linguaggi. Questa appendice fornisce chiarimenti aggiuntivi o modifica le istruzioni quando serve, per allinearle meglio agli obiettivi della traccia Clojure.
È importante non usare funzioni integrate già esistenti con funzionalità simili a quella che stai implementando: farlo ridurrebbe il valore formativo dell'esercizio.
In Clojure non esiste una funzione integrata per contare il numero di bit in un numero, quindi puoi usare qualsiasi funzione di Clojure nella tua implementazione.
Java, invece, ha una funzione che fa proprio questo: bitCount.
Iscriviti a Exercism per imparare e padroneggiare Clojure con 12 concetti105 esercizi e il mentoring di persone reali, tutto gratis.