사용자:Riemann/numero
이 플러그인에 대한 설명문서는 사용자:Riemann/numero/설명문서에서 만들 수 있습니다.
/* powerMod */ function powerMod(root,expo,mod) { var power = 1; var expo2 = expo.toString(2); var expoLen = expo2.length; for (i = 0; i < expoLen; i++) { power = (power * power) % mod; power = (power * Math.pow(root, 1 * expo2[i])) % mod; } return power; } /* gcd */ function gcd(x, y) { if (x == 0 || y == 0) { return undefined; } var a = Math.abs(x); var b = Math.abs(y); var c; while (c != 0) { c = a % b; a = b; b = c; } return a; } /* invMod */ function invMod(zahl, mod) { if (zahl == 0 || mod == 0) { return undefined; } var a = Math.abs(mod); var b = Math.abs(zahl) % a; var qtnt = [1]; var c; var p = 1; var q, r; while (c != 0) { c = a % b; qtnt.push(0 - Math.floor(a / b)); a = b; b = c; } q = qtnt[qtnt.length - 2]; for (i = qtnt.length - 3; i > 0; i--) { r = p; p = q; q = r + q * qtnt[i]; } while (q < 0) { q+= mod; } return q % mod; }