Je pense que la conjecture de Collatz est déjà bien connue. Mais que faire si nous inversons les règles?
Commencez avec un entier n> = 1.
Répétez les étapes suivantes:
Si n est pair , multipliez-le par 3 et ajoutez 1.
Si n est impair , soustrayez 1 et divisez-le par 2.
Arrêtez quand il atteint 0
Imprimez les numéros itérés.
Cas de test:
1 => 1, 0
2 => 2, 7, 3, 1, 0
3 => 3, 1, 0
10 => 10, 31, 15, 7, 3...
14 => 14, 43, 21, 10, ...
Règles:
Cette séquence ne fonctionne pas pour beaucoup de nombres car elle entre dans une boucle infinie. Vous n'avez pas besoin de gérer ces cas. Seule l'impression des cas de test ci-dessus est suffisante.
J'ai suggéré de soustraire 1 et de diviser par deux pour donner un entier valide pour continuer, mais il n'est pas nécessaire de le calculer de cette façon. Vous pouvez diviser par 2 et convertir en entier ou toute autre méthode qui donnera la sortie attendue.
Vous devez également imprimer l'entrée initiale.
La sortie n'a pas besoin d'être formatée comme cas de test. C'était juste une suggestion. Cependant, l'ordre itéré doit être respecté.
Le plus petit code gagne.
0
à la fin?