AlgoBox : syracuse_temps_vol_math93

La suite de Syracuse sur Math93.com

On rappelle que la suite de Syracuse est définie ainsi :
On part d'un nombre entier plus grand que zéro ; s’il est pair, on le divise par 2 ; s’il est impair, on le multiplie par 3 et on ajoute 1.
En répétant l’opération, on obtient une suite d'entiers positifs dont chacun ne dépend que de son prédécesseur.

Avec l'algorithme présent :
On entre L.
Cet algorithme propose le calcul du temps de vol et de l'altitude maximale des suites de Syracuse de premier terme allant de 2 à L.

Tester l'algorithme
Cliquer sur ce bouton pour exécuter l'algorithme : 

Résultats

Code de l'algorithme
1   VARIABLES
2     u EST_DU_TYPE NOMBRE
3     i EST_DU_TYPE NOMBRE
4     n EST_DU_TYPE NOMBRE
5     m EST_DU_TYPE NOMBRE
6     l EST_DU_TYPE NOMBRE
7     j EST_DU_TYPE NOMBRE
8   DEBUT_ALGORITHME
9     AFFICHER "Donnez le nombre de suites de Syracuse à analyser."
10    AFFICHER "L'algorithme propose le calcul du temps de vol et de l'altitude maximale des suites de Syracuse"
11    TANT_QUE (l<2) FAIRE
12      DEBUT_TANT_QUE
13      LIRE l
14      FIN_TANT_QUE
15    POUR j ALLANT_DE 2 A l
16      DEBUT_POUR
17      n PREND_LA_VALEUR j
18      TANT_QUE (n!=1) FAIRE
19        DEBUT_TANT_QUE
20        SI (n%2==0) ALORS
21          DEBUT_SI
22          n PREND_LA_VALEUR n/2
23          FIN_SI
24          SINON
25            DEBUT_SINON
26            n PREND_LA_VALEUR 3*n+1
27            FIN_SINON
28        i PREND_LA_VALEUR i+1
29        SI (n>m) ALORS
30          DEBUT_SI
31          m PREND_LA_VALEUR n
32          FIN_SI
33        FIN_TANT_QUE
34      AFFICHER "Suite N = "
35      AFFICHER j
36      AFFICHER " : Temps vol = "
37      AFFICHER i
38      AFFICHER " / et Altitude max = "
39      AFFICHER m
40      m PREND_LA_VALEUR j+1
41      i PREND_LA_VALEUR 0
42      FIN_POUR
43  FIN_ALGORITHME