-
Le problème c'est que a/b mod n est égale à ((a mod b)*(b-1 mod n)) mod n, si ((a mod b)*(b-1 mod n)) est défini, et il est défini si (b-1 mod n) est défini. Et (b-1 mod n) est défini que si b et n sont copremiers (donc déjà il faudrait modifier ma méthode "naive" pour tester ce cas). Si tu as l'assurance que p est premier (il me semble que c'est le cas dans ton contexte), et que b ne divise pas p, ça devrait suffire, sinon il faut chercher un algorihme performant (voir cette discussion). Mais tout ça n'est plus vraiment un problème de Java, mais un problème algorithmique : c'est plutôt dans la section correspondante que tu pourras avoir des réponses, que tu encoderas ensuite en Java.
-
joel et Flodelarab merci pour votre aide...
oui le p est toujours premier mais pour éviter tout exception je vais voir avec l'Algorithme d’Euclide étendu comme a dit Flodelarab c'est la solution de mon problème ,je crois pas qu'il est prédéfini en java je vais l'implémenter moi meme ,et comme vous avez dit Joel le probléme ne réside pas en java mais le bon algorithme me manqué et surtout les notion de base sur l'arithmétique modulaire...
encore merci de suivre mon probléme
-
bon les développeur c'est résolu pour calculer (a/b)mod p ac (b mod a !=0) on calcule tout simplement (( a mod p) *( b-1 mod p))mod p
merci Flodelarab et joel encors merci :)