一 , gcd
1.自带库函数求gcd
class person {
public:
person() {
cin >> a >> b;
cout << __gcd(a, b);
}
private:
int a, b;
};
2.欧几里得算法
#include<bits/stdc++.h>
using namespace std;
int gcd(int x, int y) {
return y == 0 ? x : gcd(y, x % y);
}
int main() {
int a, b;
cin >> a >> b;
cout << gcd(a, b);
return 0;
}
二 .lcm
#include<bits/stdc++.h>
using namespace std;
#define ll long long
//欧几里得算法
int gcd(int x, int y) {
return y == 0 ? x : gcd(y, x % y);
}
//记得开long long
//lcm(a,b)*gcd(a,b)=a*b;
ll lcm(ll x, ll y) {
return x / gcd(x, y) * y;///先除在乘,否则会爆
}
int main() {
int a, b;
cin >> a >> b;
cout << lcm(a, b);
return 0;
}