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 para um ovo existente ou 0 para um local vazio. _ _ _ _ _ _ _
|E| |E|E| | |E|
_ _ _ _ _ _ _
|1|0|1|1|0|0|1|
89
4
_ _ _ _ _ _ _
| | | |E| | | |
_ _ _ _ _ _ _
|0|0|0|1|0|0|0|
8
1
Sua tarefa é contar quantos bits 1 existem na representação binária de um número.
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.
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.
Crie sua conta no Exercism para aprender e dominar Clojure com 12 conceitos105 exercícios e mentoria humana de verdade, tudo de graça.