#3448. [GESP202412 五级 C++] 第 5 题

[GESP202412 五级 C++] 第 5 题

两块长方形土地的长宽分别为 24 和 36 米。要将它们分成正方形的小块,使得正方形的尺寸尽可能大。小杨采用如下的辗转相除函数 gcd(24, 36) 来求正方形分块的边长。则函数 gcd 调用顺序为( )。

int gcd(int a, int b) {
    int big = a > b ? a : b;
    int small = a < b ? a : b;
    if (big % small == 0) {
        return small;
    }
    return gcd(small, big % small);
}

{{ select(1) }}

  • gcd(24, 36)gcd(24, 12)gcd(12, 0)
  • gcd(24, 36)gcd(12, 24)gcd(0, 12)
  • gcd(24, 36)gcd(24, 12)
  • gcd(24, 36)gcd(12, 24)