资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
编写一函数lcm,求两个正整数的最小公倍数。
样例输入
一个满足题目要求的输入范例。
例:
3 5
样例输出
与上面的样例输入对应的输出。
例:
数据规模和约定
输入数据中每一个数的范围。
例:两个数都小于65536。
#include<iostream>
using namespace std;
#define ll long long
//ALGO-148 5-1最小公倍数
ll gcd(ll a, ll b)
{
return b == 0 ? a : gcd(b, a % b);
}
ll lcm(ll a, ll b)
{
return a * b / gcd(a, b);
}
int main()
{
ll a, b;
scanf("%lld %lld", &a, &b);
printf("%lld", lcm(a, b));
return 0;
}
【注】a和b的最大公约数gcd最小公倍数lcm:a * b == gcd * lcm
gcd:return b == 0 ? a : gcd(b, a % b);