Population count (rust)
Nombre de bits à 1 dans l’écriture binaire de 2276938679 (32 bits non signés).
Énoncé
Comptez le nombre de bits à 1 dans l’écriture binaire sur 32 bits de l’entier non signé 2276938679.
Entrée : 2276938679
Sortie : une ligne, entre 0 et 32.
Contraintes réelles
- Entrée : une seule ligne sur stdin (format indiqué ci-dessus), sans espaces superflus en fin de ligne.
- Sortie : une seule ligne sur stdout, exactement la valeur demandée (pas de texte d’explication).
- rust : bibliothèque standard uniquement ; pas d’accès réseau ni de fichiers autres que stdin/stdout.
- Complexité : respecter la borne indiquée dans l’énoncé (souvent O(n) ou O(n²) pour n ≤ 16).
Parcours pédagogique
- Piste : Représentation binaire (
serie-i-bits) — étape 1 sur cette famille. - Objectif : Compter les bits à 1 (population count).
- Indice global : numéro de défi 4313 / 10000 (famille 13/25, variante 173 / 400).
Indices
- Parsez stdin en types exacts (entier 64 bits signé si nécessaire).
- Testez sur papier avec les petites valeurs du gabarit.
- Vérifiez les cas limites mentionnés.
Solution possible
- Boucle 32 fois ou while n : n &= n-1.
Pseudo-code (rust)
# lire la ligne stdin → variables
# appliquer l’algorithme décrit
# print(resultat) # une ligne
Résultat de référence (tests automatisés)
La CI exécute la même logique que ce dépôt sur votre variante : la sortie attendue est exactement :
20
Référence (tests automatisés) : 20
Proposer une solution
Connectez-vous ou créez un compte pour envoyer votre texte (aucune exécution de code côté serveur).