蓝桥杯试题 算法提高 求最小公倍数 C/C++

试题 算法提高 求最小公倍数

资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
  从键盘输入M、N(M、N取值长整范围)两个数,求它们的最小公倍数。
输入格式
  输入文件只有一行,有两数被空格隔开,分别表示M、N的值。
输出格式
  只有一个数,即M、N的最小公倍数。
样例输入
15 20
样例输出
60

思路:求最小公倍数可以先求其最大公约数,再用两数的乘积除以其最大公约数即可。

代码如下:

#include
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;
}

你可能感兴趣的:(蓝桥杯练习,算法,c++,c语言)