编辑代码

/**
 * @brief 农民分土地递归版本
 * @param w
 * @param h
 * @returns
 */
function sliceLand(w: number, h: number): number {
    return h ? sliceLand(h, w % h) : w;
}

/**
 * @brief 农民分土地非递归版本
 * @param w 
 * @param h 
 * @returns 
 */
function sliceLand_non_recursive(w: number, h: number): number {
    while (h) {
        [w, h] = [h, w % h];
    }
    return w;
}

console.log(sliceLand(1680, 640));
console.log(sliceLand_non_recursive(1680, 640));