题解 | #小乐乐与欧几里得#
小乐乐与欧几里得
https://www.nowcoder.com/practice/da13e0cf321e4df9acd0fdf0a433cbb0
#include <iostream> #include <numeric> using namespace std; long long gcd(int m, int n) { if (m==0) { return n; } else { return gcd(n%m, m); } } int main() { long long a, b; cin>>a>>b; long long m; m = gcd(a, b); cout<<m+(a*b)/m; } // 64 位输出请用 printf("%lld")
用gcd求最大公约数 如果是求a与b的最大公约数 那么可以这样写 gcd(a,b),如果a==0,返回b,否则继续gcd(b%a,a)。而最大公倍数=a*b/gcd。