viết hàm tìm ucln với tên hàm là ucln c++ bằng 3 cách.giúp em vs ạ

1 câu trả lời

Hint 1: Cày trâu

#include <iostream>
using namespace std;

int a, b;

int ucln(int a, int b) {
    int res = 0;
    
    for(int i = 1; i <= b; ++i) {
        if(a % i == 0 && b % i == 0) res = max(res, i);
    }
    
    return res;
}

int main() {
    cin >> a >> b;
    cout << ucln(a, b);
}

Hint 2: Trừ dần

#include <iostream>
using namespace std;

int a, b;

int ucln(int a, int b) {
    while(a != b) {
        if(a > b) a -= b;
        else b -= a;
    }
    return a;
}

int main() {
    cin >> a >> b;
    cout << ucln(a, b);
}

Hint 3: Euclid

#include <iostream>
using namespace std;

int a, b;

int ucln(int a, int b) {
    while(b != 0) {
        int r = b;
        b = a % b;
        a = r;
    }
    return a;
}

int main() {
    cin >> a >> b;
    cout << ucln(a, b);
}

Hint 4: Hàm có sẵn

#include <iostream>
#include <algorithm>
using namespace std;

int a, b;

int main() {
    cin >> a >> b;
    cout << __gcd(a, b);
}