溫馨提示×

c++求最大公約數的方法有哪些

c++
小億
225
2024-03-28 14:42:03
欄目: 編程語言

  1. 輾轉相除法(歐幾里得算法):通過連續求兩個數的余數和除數之間的商,直到余數為0,即可得到最大公約數。
int gcd(int a, int b) {
    while (b != 0) {
        int r = a % b;
        a = b;
        b = r;
    }
    return a;
}
  1. 更相減損術:通過連續減小的兩個數,直到它們相等為止,即可得到最大公約數。
int gcd(int a, int b) {
    while (a != b) {
        if (a > b) {
            a = a - b;
        } else {
            b = b - a;
        }
    }
    return a;
}
  1. 遞歸法:通過遞歸的方式求解最大公約數。
int gcd(int a, int b) {
    if (b == 0) {
        return a;
    } else {
        return gcd(b, a % b);
    }
}

這些方法都可以用來求解最大公約數,其中輾轉相除法是最常用的一種方法。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女