Bonjour, j'ai un devoir maison que je n'arrive pas à finir, voici l'ennoncé :
On étudie l'algorithme suivant:
Variables : u,p sont des nombres entiers naturels
Entree : saisir u
Traitement : Affecter à p la valeur 1
Tant que u different de 1
Si u est pair alors
Affecter à u la valeur u/2
Sinon
Affecter à u la valeur 3u+1
Fin si
Affecter à p la valeur p+1
Fin tant que
Sortie : Afficher p
J'ai reussi les questions sauf les dernieres :
a)Trouver un nombre u saisi en entrée tel que la valeur affichée soit p=10 (j'ai trouvé la réponse c'est u=12 mais je ne sais pas comment le démontrer...)
b) Trouver un nombre u saisi en entée tel que la valeur affichée en sortie soit p=n
Merci de votre aide
Bonjour,
Pour a), une fois trouvé 12 :
12/2 = 6 , 6/2 = 3 , 33 +1 = 10 .
Ce serait bien de connaitre les questions précédentes. Elles aident peut-être pour la suite.
J'ai mal lu la question et confondu p avec u
Il faut continuer après u = 10 jusqu'à u = 1 . Puis compter le nombre d'étapes ; à ajouter au p=1 du départ.
Oui bien sur voici les questions précédentes :
1) On exécute cet algorithme avec la valeur u=12 saisie en entrée.
a) reproduire et compléter le tableau suivi des variables u et p .
U 12 6 3 10 .......
P 1 2 3 4 .........
b) Quelle valeur p est affichée en sortie ?
2) Exécuter l'algorithme avec u=14 puis u=100, indiquer la valeur p affichée en sortie
Attention, j'ai l'impression que 12 ne convient pas en fait.
Pour 1)b) je trouve affiché p = 11 en sortie.
Pour 1024 , je trouve 12 affiché en sortie.
Je peux me tromper, à vérifier.
Je traite un exemple court :
Valeur saisie au départ : u = 2
La valeur 1 est affectée à p .
2 1 , et 2 est pair ; la nouvelle valeur de u est donc 1 .
On termine le "tant que" ; donc la valeur de p devient 2 .
La valeur de u est 1 ; donc plus de "tant que".
La valeur de p s'affiche et c'est 2 .
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :