js求最大公约数与元勾股数
function gcd(a,b) {
// 先保证a比b大
if (b>a) {
let temp = a;
a = b;
b = temp;
}
if (a%b ===0) {
return b;
}
return gcd(a, a%b);
}
求一定范围内的元勾股数
function gougu (n) {
for (let i = 1; i < n; i++) {
for (let j = i; j < n; j++) {
for (let k = j + 1; k < n + 1; k++) {
if (i * i + j * j === k * k && gcd(i, j) === 1 && gcd(i, k) === 1 && gcd(j, k) === 1) {
console.log(i, j, k)
}
}
}
}
}
// 求最大公约数
function gcd (a, b) {
if (a < b) {
let temp = b;
b = a;
a = temp;
}
if (a % b === 0) {
return b;
}
return gcd(b, a % b);
}

浙公网安备 33010602011771号