Aller au contenu principal
U/USELESS·PROGRAMMING

Population count (rust)

Nombre de bits à 1 dans l’écriture binaire de 1157465853 (32 bits non signés).

Énoncé

Comptez le nombre de bits à 1 dans l’écriture binaire sur 32 bits de l’entier non signé 1157465853.

Entrée : 1157465853

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 3888 / 10000 (famille 13/25, variante 156 / 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

  1. 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 :

19

Référence (tests automatisés) : 19

Proposer une solution

Connectez-vous ou créez un compte pour envoyer votre texte (aucune exécution de code côté serveur).