Ton amie Eliud a hérité d'une ferme de sa grand-mère Tigist. Sa mamie était inventrice et avait tendance à construire les choses de façon exagérément compliquée. Le poulailler dispose d'un affichage numérique qui indique un nombre encodé représentant les positions de tous les œufs que l'on pourrait ramasser.
Eliud te demande d'écrire un programme qui affiche le nombre exact d'œufs dans le poulailler.
L'encodage des positions est calculé comme suit :
1 pour un œuf présent ou un 0 pour un emplacement vide. _ _ _ _ _ _ _
|E| |E|E| | |E|
_ _ _ _ _ _ _
|1|0|1|1|0|0|1|
89
4
_ _ _ _ _ _ _
| | | |E| | | |
_ _ _ _ _ _ _
|0|0|0|1|0|0|0|
8
1
Ta tâche est de compter le nombre de bits à 1 dans la représentation binaire d'un nombre.
Ne touche pas à cette fonctionnalité de comptage de bits fournie par ta bibliothèque standard ! Résous-le toi-même avec d'autres outils de base.
Les instructions ci-dessus sont synchronisées avec un dépôt partagé afin de garantir la cohérence entre tous les parcours. Cette annexe apporte des clarifications supplémentaires ou modifie les instructions si nécessaire, pour mieux les aligner sur les objectifs du parcours Clojure.
Il est important de ne pas utiliser de fonctions intégrées existantes dont le fonctionnement est similaire à celui de la fonction que tu es en train d'implémenter, car cela réduirait l'intérêt pédagogique de l'exercice.
En Clojure, il n'existe pas de fonction intégrée pour compter le nombre de bits d'un nombre, tu peux donc utiliser n'importe quelle fonction de Clojure dans ton implémentation.
En revanche, Java propose bel et bien une fonction pour cela : bitCount.
Inscris-toi sur Exercism pour apprendre et maîtriser Clojure avec 12 concepts105 exercices, et un vrai mentorat humain, le tout gratuitement.