Ich habe gerade versucht, Fermat's kleinen Satz in JavaScript zu implementieren. Ich habe es auf beide Arten versucht, a^(p-1) mod p = 1 und a^p mod p = a mod p.Fermat's kleiner Satz in JS
function fermat(a, p) {
return (((a^(p - 1)) % p) === 1);
}
und
function fermat(a, p) {
return ((a^p) % p) === (a % p);
}
Es ist nicht in beiden Richtungen funktioniert, ist es eine Möglichkeit, das zu beheben?
Ja, das weiß ich. Ich habe Fermats kleinen Satz bereits in Java implementiert und bekam eine extrem schnelle Antwort, aber als ich versuchte, alle Primzahlen auf 10k zu bringen, lief ich die Grenzen aus. Aber das ist nur für einen Test auf Jsperf (http://jsperf.com/prime-numbers/4), und es funktioniert fast so schnell wie einige Lösungen mit einem Cache (für eine halbe Million Operations-Schleifen). Mir geht es gut mit diesem Ergebnis ... – fb55