题解 P4057 【[Code+#1]晨跑】
rui_er
2019-12-06 20:55:57
# 十年OI一场空,不开long long……
一开始没开ll被卡了好久,直到今天我看向了数据范围……
欧式gcd:
```cpp
ll gcd(ll a, ll b)
{
return b==0?a:gcd(b,a%b);
}
```
lcm:
```cpp
ll lcm(ll a, ll b)
{
return a/gcd(a,b)*b;
}
```
三个数的lcm就先求两个的lcm,再求下一个,即:
```cpp
lcm(lcm(a,b),c);
```
完整代码:
```cpp
#include <iostream>
using namespace std;
#define ll long long
ll gcd(ll a, ll b)
{
return b==0?a:gcd(b,a%b);
}
ll lcm(ll a, ll b)
{
return a/gcd(a,b)*b;
}
int main()
{
ll a, b, c;
cin>>a>>b>>c;
cout<<lcm(lcm(a,b),c)<<endl;
return 0;
}
```