编辑代码

// 递归方式
function divideLandRecursive(length, width) {
  if (length === width) {
    return length;
  } else if (length > width) {
    return divideLandRecursive(length - width, width);
  } else {
    return divideLandRecursive(length, width - length);
  }
}

function maxSquareLengthRecursive(length, width) {
  return divideLandRecursive(length, width);
}

const length = 1680;
const width = 640;
const maxSquareLength1 = maxSquareLengthRecursive(length, width);
console.log("最大正方形边长为:", maxSquareLength1);

// 递推方式
function maxSquareLengthIterative(length, width) {
  while (length !== width) {
    if (length > width) {
      length -= width;
    } else {
      width -= length;
    }
  }
  return length;
}

const maxSquareLength2 = maxSquareLengthIterative(length, width);
console.log("最大正方形边长为:", maxSquareLength2);