题解分享
题解分享简介
最小公倍数 - 题解
更难的都不会做了只能做简单的
include
using namespace std;
using ll =long long;
//ll gcd (ll a, ll b){
// return b==0 ? a: gcd(b, a%b);
//
//}
int main() {
ll a ,b;
cin >>a>>b;
cout << a/ __gcd( a, b) b;//使用 c++自带的方法 __gcb
}
查看全文
0
0
1
3
最小公倍数 - 题解
```
/*
思路
思路一:
1.由前面的欧几里得定理
2. 最大公约数 gcd(a,b) = gcd(b,a%b)
3. 最小公倍数 lcm(a,b) = (a*b)/gcd(a,b)
*/
#include <bits/stdc++.h>
using namespace std;
long gcd(long a, long b) {
if (b == 0) return a;
else return gcd(b,a%b);
}
long lcm(long a, long b) {
return a/gcd(a,b)*b;
//在计算乘积之前先除以 GCD。避免a*b (long * long)超出范围
}
int main()
{
long a,b;
cin >> a >> b;
if ( a >= b ) cout << lcm(a,b) << endl;
else cout << lcm(b,a) << endl;
return 0;
}
```
查看全文
0
0
0
6
最小公倍数 - 题解
```cpp
// https://dashoj.com/p/93
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll gcd(ll a, ll b) {
if(b == 0) return a;
return gcd(b, a % b);
}
ll lcm(ll a, ll b) {
return a / gcd(a, b) * b;
}
int main() {
ll a, b;
cin >> a >> b;
cout << lcm(a, b) << endl;
return 0;
}
```
查看全文
0
0
0
3



