XOR 0..n (rust)
0 ⊕ 1 ⊕ … ⊕ 239511114.
Énoncé
Calculez 0 ⊕ 1 ⊕ 2 ⊕ … ⊕ 239511114 (XOR bitwise cumulatif).
Entrée : 239511114
Sortie : une ligne, entier non signé 32 bits (valeur JavaScript / Rust u32 cohérente).
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 2 sur cette famille. - Objectif : XOR cumulatif 0..n (formule par n mod 4).
- Indice global : numéro de défi 9964 / 10000 (famille 14/25, variante 399 / 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
- Formule : selon n mod 4, la valeur vaut n, 1, n+1 ou 0.
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 :
239511115
Référence (tests automatisés) : 239511115
Proposer une solution
Connectez-vous ou créez un compte pour envoyer votre texte (aucune exécution de code côté serveur).