Trilhas
/
Clojure
Clojure
/
Exercícios
/
Os ovos de Eliud
Os ovos de Eliud

Os ovos de Eliud

Fácil

Introdução

Sua amiga Eliud herdou uma fazenda da avó dela, Tigist. A avó era inventora e tinha a mania de construir as coisas de um jeito complicado demais. O galinheiro tem um visor digital que mostra um número codificado representando as posições de todos os ovos que podem ser recolhidos.

Eliud está pedindo que você escreva um programa que mostre o número real de ovos no galinheiro.

A codificação das informações de posição é calculada assim:

  1. Percorra os possíveis locais de postura e anote 1 para um ovo existente ou 0 para um local vazio.
  2. Converta o número de binário para decimal.
  3. Mostre o resultado no visor.

Exemplo 1

Sete ninhos individuais dispostos em uma fileira, em que o primeiro, o terceiro, o quarto e o sétimo ninhos têm um ovo cada.

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

Binário resultante

1011001

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

Número decimal no visor

89

Ovos de verdade no galinheiro

4

Exemplo 2

Sete ninhos individuais dispostos em uma fileira, em que só o quarto ninho tem um ovo.

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

Binário resultante

0001000

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

Número decimal no visor

8

Ovos de verdade no galinheiro

1

Instruções

Sua tarefa é contar quantos bits 1 existem na representação binária de um número.

Restrições

Não use a funcionalidade de contagem de bits da sua biblioteca padrão! Em vez disso, resolva o exercício com outras ferramentas básicas.

Apêndice

Note

As instruções acima são sincronizadas com um repositório compartilhado para garantir consistência entre todas as trilhas de linguagens. Este apêndice traz esclarecimentos adicionais ou modifica as instruções conforme necessário para se alinhar melhor aos objetivos da trilha de Clojure.

É importante não usar funções nativas já existentes com funcionalidade parecida com a da função que você está implementando, pois isso reduziria o valor de aprendizado pretendido do exercício. Em Clojure, não existe uma função nativa para contar o número de bits em um número, então você pode usar qualquer função de Clojure na sua implementação. No entanto, o Java inclui uma função para essa finalidade: bitCount.

Editar via GitHub O link abre em uma nova janela ou aba
Clojure Exercism

Tudo pronto para começar Os ovos de Eliud?

Crie sua conta no Exercism para aprender e dominar Clojure com 12 conceitos105 exercícios e mentoria humana de verdade, tudo de graça.