// 递归方式
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);