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

Résultats

Code de l'algorithme
1   VARIABLES
2     J EST_DU_TYPE LISTE
3     n EST_DU_TYPE NOMBRE
4     n1 EST_DU_TYPE NOMBRE
5     n2 EST_DU_TYPE NOMBRE
6     P EST_DU_TYPE NOMBRE
7     i EST_DU_TYPE NOMBRE
8     i1 EST_DU_TYPE NOMBRE
9     i2 EST_DU_TYPE NOMBRE
10    i3 EST_DU_TYPE NOMBRE
11    i4 EST_DU_TYPE NOMBRE
12    i5 EST_DU_TYPE NOMBRE
13    I EST_DU_TYPE NOMBRE
14    S EST_DU_TYPE NOMBRE
15    T EST_DU_TYPE NOMBRE
16  DEBUT_ALGORITHME
17    AFFICHER "Combien de pions voulez vous mettre au minimum?"
18    LIRE n1
19    TANT_QUE (n1 > n2) FAIRE
20      DEBUT_TANT_QUE
21      AFFICHER "Combien de pions voulez vous mettre au maximum?"
22      LIRE n2
23      SI (n1 > n2) ALORS
24        DEBUT_SI
25        AFFICHER "Le maximum est forcement plus grand ou égal au minimum"
26        FIN_SI
27      FIN_TANT_QUE
28    AFFICHER "Jusqu'a combien voulez vous qu'il comptent ?"
29    LIRE P
30    POUR n ALLANT_DE n1 A n2
31      DEBUT_POUR
32      POUR i ALLANT_DE 0 A n-1
33        DEBUT_POUR
34        J[i] PREND_LA_VALEUR 1
35        FIN_POUR
36      S PREND_LA_VALEUR ALGOBOX_SOMME(J, 0, n-1)
37      i1 PREND_LA_VALEUR 0
38      I PREND_LA_VALEUR 0
39      TANT_QUE (S >= P) FAIRE
40        DEBUT_TANT_QUE
41        SI (J[i1] == 1) ALORS
42          DEBUT_SI
43          I PREND_LA_VALEUR I % P + 1
44          SI (I == P) ALORS
45            DEBUT_SI
46            J[i1] PREND_LA_VALEUR 0
47            T PREND_LA_VALEUR i2%P
48            S PREND_LA_VALEUR S - 1
49            FIN_SI
50          FIN_SI
51        i1 PREND_LA_VALEUR (i1 + 1) % n
52        FIN_TANT_QUE
53      AFFICHER " "
54      AFFICHER "Pour "
55      AFFICHER n
56      AFFICHER " pions : "
57      POUR i ALLANT_DE 0 A n - 1
58        DEBUT_POUR
59        SI (J[i] == 1) ALORS
60          DEBUT_SI
61          i2 PREND_LA_VALEUR i + 1
62          T PREND_LA_VALEUR i2%P
63          i3 PREND_LA_VALEUR 1
64          i4 PREND_LA_VALEUR i + 1
65          //zone test
66          i3 PREND_LA_VALEUR pow(P,7)
67          // TANT_QUE (i3 < i4) FAIRE
68          // DEBUT_TANT_QUE
69          // i3 PREND_LA_VALEUR i3*P
70          // FIN_TANT_QUE
71          TANT_QUE (i3 >= 1) FAIRE
72            DEBUT_TANT_QUE
73            i5 PREND_LA_VALEUR floor(i4/i3)
74            AFFICHER i5
75            i4 PREND_LA_VALEUR i4%i3
76            i3 PREND_LA_VALEUR i3/P
77            FIN_TANT_QUE
78          AFFICHER " - "
79          FIN_SI
80        FIN_POUR
81      FIN_POUR
82  FIN_ALGORITHME