AlgoBox : Inverse et congruence
Tester l'algorithme
Cliquer sur ce bouton pour exécuter l'algorithme :
Résultats
Code de l'algorithme
1
VARIABLES
2
a
EST_DU_TYPE
NOMBRE
3
b
EST_DU_TYPE
NOMBRE
4
n
EST_DU_TYPE
NOMBRE
5
i
EST_DU_TYPE
NOMBRE
6
DEBUT_ALGORITHME
7
LIRE
a
8
LIRE
n
9
b
PREND_LA_VALEUR
0
10
POUR
i
ALLANT_DE
1 A n-1
11
DEBUT_POUR
12
//Test pour savoir si a.i est congru à 1 modulo n
13
SI
(a*i==floor(a*i/n)*n+1)
ALORS
14
DEBUT_SI
15
b
PREND_LA_VALEUR
i
16
FIN_SI
17
FIN_POUR
18
SI
(b!=0)
ALORS
19
DEBUT_SI
20
AFFICHER
a
21
AFFICHER
"*"
22
AFFICHER
b
23
AFFICHER
" est congru à 1 modulo "
24
AFFICHER
n
25
FIN_SI
26
SINON
27
DEBUT_SINON
28
AFFICHER
"Il n'existe pas d'entier b tel que "
29
AFFICHER
a
30
AFFICHER
"b soit congru à 1 modulo "
31
AFFICHER
n
32
FIN_SINON
33
FIN_ALGORITHME
Evolution des variables en mode pas à pas
Evolution des variables en mode pas à pas pour la saisie de a=3 et b=5.
(ligne 7) ->
a:3
| b:0 | n:0 | i:0
(ligne 8) -> a:3 | b:0 |
n:5
| i:0
(ligne 9) -> a:3 |
b:0
| n:5 | i:0
Entrée dans le bloc DEBUT_POUR/FIN_POUR
(ligne 11)
(ligne 11) -> a:3 | b:0 | n:5 |
i:1
La condition n'est pas vérifiée (ligne 13)
Sortie du bloc DEBUT_POUR/FIN_POUR
(ligne 17)
Entrée dans le bloc DEBUT_POUR/FIN_POUR
(ligne 11)
(ligne 11) -> a:3 | b:0 | n:5 |
i:2
La condition est vérifiée (ligne 13)
Entrée dans le bloc DEBUT_SI/FIN_SI
(ligne 14)
(ligne 15) -> a:3 |
b:2
| n:5 | i:2
Sortie du bloc DEBUT_SI/FIN_SI
(ligne 16)
Sortie du bloc DEBUT_POUR/FIN_POUR
(ligne 17)
Entrée dans le bloc DEBUT_POUR/FIN_POUR
(ligne 11)
(ligne 11) -> a:3 | b:2 | n:5 |
i:3
La condition n'est pas vérifiée (ligne 13)
Sortie du bloc DEBUT_POUR/FIN_POUR
(ligne 17)
Entrée dans le bloc DEBUT_POUR/FIN_POUR
(ligne 11)
(ligne 11) -> a:3 | b:2 | n:5 |
i:4
La condition n'est pas vérifiée (ligne 13)
Sortie du bloc DEBUT_POUR/FIN_POUR
(ligne 17)
La condition est vérifiée (ligne 18)
Entrée dans le bloc DEBUT_SI/FIN_SI
(ligne 19)
Sortie du bloc DEBUT_SI/FIN_SI
(ligne 25)
Affichages : 3*2 est congru à 1 modulo 5