Generation

translateThu, 16 Feb 2023

const isPrime = (n) => { if (n <= 1) return false; if (n <= 3) return true; if (n % 2 === 0 || n % 3 === 0) return false; const r = Math.floor(Math.sqrt(n)); for (let a = 2; a <= r; a++) { if (n % a === 0) return false; } const log2n = Math.ceil(Math.log2(n)); for (let i = 1; i <= log2n; i++) { let a = BigInt(Math.floor(Math.random() * (n - 2)) + 1); let x = BigInt(a) ** BigInt(n) % BigInt(n); let y = BigInt(a) % BigInt(n); for (let j = 1; j <= i; j++) { x = (x ** 2n) % BigInt(n); if (x === 1n && j !== i) return false; if (j < i && x === y) return false; } if (x !== y) return false; } return true; };

const isPrime = (n: number) => { if (n <= 1) return false; if (n <= 3) return true; if (n % 2 === 0 || n % 3 === 0) return false; const r = Math.floor(Math.sqrt(n)); for (let a = 2; a <= r; a++) { if (n % a === 0) return false; } const log2n = Math.ceil(Math.log2(n)); for (let i = 1; i <= log2n; i++) { let a = BigInt(Math.floor(Math.random() * (n - 2)) + 1); let x = BigInt(a) ** BigInt(n) % BigInt(n); let y = BigInt(a) % BigInt(n); for (let j = 1; j <= i; j++) { x = (x ** 2n) % BigInt(n); if (x === 1n && j !== i) return false;

TypeScript
Generate More

Questions about programming?Chat with your personal AI assistant