Bonsoir, je n'arrive pas à faire la dernière question de mon dm qui est:
Tester l'algorithme pour U=10
Voici l'énoncer:
Entrée: U
Traitement: Afficher U
Tant que U n'est pas = 1:
affecter à la valeur U/2 à U
Sinon
affecter la valeur ( 3U+1)/2 à U
FinSI
Afficher U
FinTantque
Si j'ai bien compris, je dois remplacer U par 10 dans mon énoncer et étant donné qu'il n'est pas égale à 1 je fais 10/2 ?
Pouvez-vous m'aider ? S'il-vous plait, merci d'avance =)
Bonsoir kagome54
Il manque une ligne à ton algorithme :
...
Tant que U n'est pas = 1:
si U est pair
affecter à la valeur U/2 à U
Sinon
...
C'est l'algorithme de Syracuse qui donnera une suite de nombres entiers qui aboutira toujours au nombre 1 auquel cas, le programme s'arrête dans ce cas-ci et affiche 1.
Si tu entres 10 comme première valeur de U, la boucle affectera 10/2=5 à U.
Comme 5 est différent de 1, la boucle repart...
Je voudrais juste savoir si ma réponse est juste.
On me pose comme question: Quelle condition est suffisante sur U pour que l'algorithme construise bien une suite d'entiers.
Pour avoir une suite d'entiers, il suffit que U soit un chiffre pair mais inférieur à 10. Est-ce juste ?
Merci d'avance 
Ah mais oui peut importe si U pair ou impaire.
Je vous remercie beaucoup
Bonne soirée et encore merci !!!
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :