试题 算法提高 求最小公倍数
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
从键盘输入M、N(M、N取值长整范围)两个数,求它们的最小公倍数。
输入格式
输入文件只有一行,有两数被空格隔开,分别表示M、N的值。
输出格式
只有一个数,即M、N的最小公倍数。
样例输入
15 20
样例输出
60
思路:求最小公倍数可以先求其最大公约数,再用两数的乘积除以其最大公约数即可。
代码如下:
#include<iostream>
using namespace std;
int main(){
long long m,n,i;
cin>>m>>n;
for(i=min(m,n);i>0;i--){
if(m%i==0 && n%i==0){
break;
}
}
cout<<(m*n)/i;
}