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.






La plupart des réponses à vos questions sont déjà dans les
Répondre avec citation



Partager