我刚刚尝试用 JavaScript 实现费马小定理。我尝试了两种方法,a^(p-1) mod p = 1 和 a^p mod p = a mod p。
function fermat(a, p) {
return (((a ^ (p - 1)) % p) === 1);
}
和
function fermat(a, p) {
return ( ( a^p ) % p ) === ( a % p );
}
这不是双向的,有什么办法可以解决这个问题吗?
最佳答案
在 Javascript 中 ^
表示 XOR .对于 exponentiation你需要 Math.pow(x, y)
。
function fermat(a, p) {
return Math.pow(a, p - 1) % p === 1;
}
关于javascript - JS中的费马小定理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3400291/