Bonjour, j'aimerais savoir comment sélectionner algorithmiquement le nombre le plus grand d'une liste parce que j'ai un DM à rendre sur la suite de Syracuse.
Merci
Bonjour
Tout simplement en parcourant tous les éléments de la liste et en considérant que, a priori, le premier de la liste est le plus grand.
Ensuite,chaque fois qu'un élément de la liste est plus grand que l'élément connu comme le plus grand jusqu'alors, il suffit de "rafraîchir" la valeur du plus grand.
en espérant avoir été clair
J'ai réussi à créer l'algorithme que je voulais (il devait fournir l'altitude et le n pour lequel cette altitude étaie atteinte) mais je dois en créer un autre qui demande un entier N et qui affiche n (le temps de vol le plus long) pour un u0 le plus petit possible.
Et j'aimerais savoir comment mémoriser un nombre de listes N
Je programme sur algobox mais j'ai finalement réussi à créer puis à rafraichir une unique liste mais j'ai un problème, assez compliqué à expliquer
Donc je voudrais savoir comment publier un algorithme sur le topic, je le copie colle juste ?
Ta question "mais je dois en créer un autre qui demande un entier N et qui affiche n (le temps de vol le plus long) pour un u0 le plus petit possible" n'est pas très claire ... Je la comprends comme ça :
Début
Demander un entier N // N est la longueur de vol attendue
u0 reçoit la valeur 1 // on commence par la plus petite valeur potentielle de u0
L reçoit la valeur 1 // c'est la longueur de la suite commençant par u0=1
Tant que L < N
u0 reçoit la valeur u0+1 //valeur de départ de la prochaine suite
L reçoit la valeur 1 //initialisation à 1 de la longueur de la prochaine suite
u reçoit la valeur u0 //initialisation à u0 de la prochaine suite
Tant que u est différent de 1 //la suite s'arrête lorsque le terme calculé vaut 1. Il s'agit de calculer sa longueur L
si u est pair alors u reçoit la valeur u/2 sinon u reçoit la valeur 3u+1
L reçoit la valeur L+1
Fin tant que
Fin Tant que
Afficher "La première suite de Syracuse de longueur ", N , "commence par ", u0
Fin
J'ai bon ?
Tiens si ça t'intéresse, j'avais programmé ça pour un topic :
(tu peux le copier/coller dans algobox en mode éditeur de texte, ou bien directement en ligne dans proglab )
VARIABLES
u EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
k EST_DU_TYPE NOMBRE
Max EST_DU_TYPE NOMBRE
AMax EST_DU_TYPE NOMBRE
NN EST_DU_TYPE NOMBRE
AA EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
Max PREND_LA_VALEUR 0
AA PREND_LA_VALEUR 0
NN PREND_LA_VALEUR 0
POUR k ALLANT_DE 2 A 10000
DEBUT_POUR
u PREND_LA_VALEUR k
n PREND_LA_VALEUR 0
TANT_QUE (u != 1) FAIRE
DEBUT_TANT_QUE
n PREND_LA_VALEUR n+1
SI (u%2==0) ALORS
DEBUT_SI
u PREND_LA_VALEUR u/2
FIN_SI
SINON
DEBUT_SINON
u PREND_LA_VALEUR 3*u+1
FIN_SINON
SI (u > AA) ALORS
DEBUT_SI
AA PREND_LA_VALEUR u
AMax PREND_LA_VALEUR n
FIN_SI
FIN_TANT_QUE
SI (n > Max) ALORS
DEBUT_SI
NN PREND_LA_VALEUR k
Max PREND_LA_VALEUR n
FIN_SI
FIN_POUR
AFFICHER "le nombre qui a le temps de vol le plus grand est "
AFFICHER NN
AFFICHER " ; le temps de vol est de : "
AFFICHER* Max
AFFICHER "le nombre qui a l'altitude la plus grande est : "
AFFICHER AMax
AFFICHER " ; et cette altitude est de : "
AFFICHER AA
FIN_ALGORITHME
ha j'ai une petite faute de syntaxe :
VARIABLES
u EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
k EST_DU_TYPE NOMBRE
Max EST_DU_TYPE NOMBRE
AMax EST_DU_TYPE NOMBRE
NN EST_DU_TYPE NOMBRE
AA EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
Max PREND_LA_VALEUR 0
AA PREND_LA_VALEUR 0
NN PREND_LA_VALEUR 0
POUR k ALLANT_DE 2 A 10000
DEBUT_POUR
u PREND_LA_VALEUR k
n PREND_LA_VALEUR 0
TANT_QUE (u != 1) FAIRE
DEBUT_TANT_QUE
n PREND_LA_VALEUR n+1
SI (u%2==0) ALORS
DEBUT_SI
u PREND_LA_VALEUR u/2
FIN_SI
SINON
DEBUT_SINON
u PREND_LA_VALEUR 3*u+1
FIN_SINON
SI (u > AA) ALORS
DEBUT_SI
AA PREND_LA_VALEUR u
AMax PREND_LA_VALEUR k
FIN_SI
FIN_TANT_QUE
SI (n > Max) ALORS
DEBUT_SI
NN PREND_LA_VALEUR k
Max PREND_LA_VALEUR n
FIN_SI
FIN_POUR
AFFICHER "le nombre qui a le temps de vol le plus grand est "
AFFICHER NN
AFFICHER " ; le temps de vol est de : "
AFFICHER* Max
AFFICHER "le nombre qui a l'altitude la plus grande est : "
AFFICHER AMax
AFFICHER " ; et cette altitude est de : "
AFFICHER AA
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :