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);
}

  

posted @ 2022-03-20 12:04  小白yang  阅读(79)  评论(0)    收藏  举报