Algorithme quand tu nous tiens : conditions logiques
Bonjour,
je suis en train de ramer sur les conditions logiques. Je demande à l'utilisateur d'entrer deux nombres a et b tant que le PGCD(a,26) est différent de 1 et que l'inverse modulaire de a par 26 est égal à -1 (retour d'erreur).
Code:
1 2 3 4 5 6 7 8
| //Initialisation de la clé
do{
printf("Entrez la valeur \'a\' de la clef : ");
scanf("%d",&a);
printf("Entrez la valeur \'b\' de la clef : ");
scanf("%d",&b);
}while ((PGCD(a,26) != 1) && (inv_mod(a) == -1));
printf("Clef validee ! \n"); |
Ça à l'air tout simple, mais mon programme bug à cause de l'inverse modulaire un peu plus loin. Si ça bug, ça veut dire qu'il laisse passer des valeurs a et b non acceptables par la suite. J'ai beau faire des tables de vérité mais je ne trouve pas mon erreur.
Y aurait-il une âme charitable pour m'aider?
Merci d'avance :)