Pour autant que je me souvienne, la congruence conserve la somme et la puissance, cad que a = p [n] et b = q [n] => a + b = p + q [n] et a = p [n] => a^k = p^k [n]. (remplacer les signes égal par un signe congrue à, évidemment).
Sinon y'a la façon simple : détecter des «patterns» (une texture, des séries qui reviennent quoi).
En l'occurrence, on voit que
8 = 8 [40]
8^2 = 24 [40]
8^3 = 32 [40]
8^4 = 16 [40]
8^5 = 8 [40]
Donc ça signifie que les congruences vont toutes être les mêmes par la suite.
Donc 8^45 = 8 [40]
et 8^46 = 32 [40]
Pour transformer ça en algorithme, tu peux essayer d'utiliser le moment ou tu trouves une congruence égale à ton nombre de départ (en général c'est comme ça qu'on trouve une boucle).
Message édité par mahuf le 03-06-2007 à 02:40:29