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);
}