Bonjour,
Je doit réalisé un exercice qui me pose problème pour effectué l'algorithme, si vous pouviez m'aider !
l'énnoncé est le suivant :
Considérons la suite suivante :
U0 est un entier supérieur à 0 pour tout n> 0 , Un+1 = } Un/2 si Un est paire
3Un+1 si Un est impaire
Une telle suite est appelée suite de Syracuse U0.
1) Supposons U0 = 6 calculer U1, U2, U3, U4, U5, U6,U7, U8, U9
On remarque que pour Uo = 6, il existe un entier naturel n tel que Un= 1
LA conjecture de syracuse dit que, quel que soit le choit de U0 entier, il existe un certain rang n pour lequel un terme de la suite sera égal à 1. Ceci est une conjeture personne n'a pu me démontrer.
2) Ecrire un algorithme qui prendra en entrée U0 et un entier n, et en sortie affichera Un
3) modifier le programme pour qu'il affiche en sortie le plus entier n vérifiant Un=1
Si vous pouviez m'aider pour la question 2 !
MErci
Bonjour, Pour savoir faire des algorithmes, il faut se lancer
tu demande N , tu demandes U (U0 en fait) et puis tu fais une petite boucle
Pour I=1 à N
SI E(U/2)=U/2 Alors mettre U/2 dans U 'car si partie entière de U/2 = U/2 c'est que U est pair
Sinon Mettre 3U+1 dans U
Fin Pour
Afficher U
je te laisse réfléchir à la 3)
je l'avais fait donc à tout hasard, je te mets la solution que j'ai trouvée :
VARIABLES
U EST_DU_TYPE NOMBRE
I EST_DU_TYPE NOMBRE
N EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE U
N PREND_LA_VALEUR 0
TANT_QUE (U != 1) FAIRE
DEBUT_TANT_QUE
SI (round(U/2)==U/2) ALORS
DEBUT_SI
U PREND_LA_VALEUR U/2
FIN_SI
SINON
DEBUT_SINON
U PREND_LA_VALEUR 3*U+1
FIN_SINON
N PREND_LA_VALEUR N+1
FIN_TANT_QUE
AFFICHER N
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :