题目
- 描述
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。
数据范围:1 \le a,b \le 100000 \1≤a,b≤100000
- 输入描述:
输入两个正整数A和B。
- 输出描述:
输出A和B的最小公倍数。
分析

代码
- 暴力求解法
#include<iostream>
using namespace std;
int main()
{
int A,B;
cin>>A>>B;
int m = max (A,B);
while(1)
{
if( m%A ==0 && m%B==0)
{
cout<<m;
break;
}
m++;
}
return 0;
}
- 改进求解
#include<iostream>
using namespace std;
int gdb(int a,int b)
{
int c;
while (c = a % b)
{
a = b;
b = c;
}
return b;
}
int main()
{
int a,b;
while(cin>>a>>b){
cout << a*b/gdb(a,b)<< endl;
}
return 0;
}
本文介绍了两种计算两个正整数最小公倍数的算法。第一种是暴力求解法,通过不断加1直到找到能被两个数同时整除的最小值。第二种是改进方法,利用最大公约数(GCD)进行优化,通过乘积除以最大公约数得到最小公倍数。代码已给出详细实现,适用于数据范围1到100000的整数。
439

被折叠的 条评论
为什么被折叠?



