Track
/
Erlang
Erlang
/
Esercizi
/
Le uova di Eliud
Le uova di Eliud

Le uova di Eliud

Facile

Introduzione

La tua amica Eliud ha ereditato una fattoria da sua nonna Tigist. La nonna era un'inventrice e aveva la tendenza a costruire le cose in modo fin troppo complicato. Il pollaio ha un display digitale che mostra un numero codificato che rappresenta le posizioni di tutte le uova che potrebbero essere raccolte.

Eliud ti chiede di scrivere un programma che mostri il numero effettivo di uova nel pollaio.

La codifica delle informazioni sulle posizioni si calcola così:

  1. Esamina i possibili punti di deposizione e segna un 1 per un uovo presente o uno 0 per un punto vuoto.
  2. Converti il numero da binario a decimale.
  3. Mostra il risultato sul display.

Esempio 1

Sette nidi singoli disposti in fila, in cui il primo, il terzo, il quarto e il settimo nido hanno ciascuno un uovo.

 _ _ _ _ _ _ _
|E| |E|E| | |E|

Binario risultante

1011001

 _ _ _ _ _ _ _
|1|0|1|1|0|0|1|

Numero decimale sul display

89

Uova effettive nel pollaio

4

Esempio 2

Sette nidi singoli disposti in fila, in cui solo il quarto nido ha un uovo.

 _ _ _ _ _ _ _
| | | |E| | | |

Binario risultante

0001000

 _ _ _ _ _ _ _
|0|0|0|1|0|0|0|

Numero decimale sul display

16

Uova effettive nel pollaio

1

Istruzioni

Il tuo compito è contare il numero di bit pari a 1 nella rappresentazione binaria di un numero.

Restrizioni

Lascia stare la funzionalità di conteggio dei bit fornita dalla tua libreria standard! Risolvi questo esercizio da solo, usando invece altri strumenti di base.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Erlang Exercism

Vuoi iniziare Le uova di Eliud?

Iscriviti a Exercism per imparare e padroneggiare Erlang con 85 esercizi e il mentoring di persone reali, tutto gratis.