Aller au contenu principal
U/USELESS·PROGRAMMING

Étapes Collatz (go)

Nombre d’étapes pour atteindre 1 (plafond 800) depuis 64424.

Énoncé

Partant de n = 64424, appliquez : si n pair, n←n/2 ; sinon n←3n+1. Comptez les étapes jusqu’à atteindre 1, ou arrêtez après 800 étapes et affichez le compte (même si n≠1).

Entrée : 64424

Sortie : une ligne, nombre d’étapes effectuées.

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).
  • go : 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 : Itérations (serie-k-collatz) — étape 1 sur cette famille.
  • Objectif : Simuler la suite de Collatz avec plafond d’étapes.
  • Indice global : numéro de défi 7292 / 10000 (famille 17/25, variante 292 / 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. Simulation directe avec une boucle et un compteur.

Pseudo-code (go)

# 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 :

73

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

Proposer une solution

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