杭电1108
题目
AC代码
#include<iostream>
using namespace std;
int turnway(int a,int b)//辗转相除法求最大公约数
{
while(a%b!=0)
{
int temp;
temp=a%b;
a=b;
b=temp;
}
if(a<=b) return a;
else return b;
}
int main()
{
int a,b;
int answer;
while(cin>>a>>b)
{
answer=a/turnway(a,b)*b;
cout<<answer<<endl;
}
return 0;
}
题目思路
最小公倍数=两数相乘/最大公约数
求解最大公约数采用辗转相除法
辗转相处法思路为大的数除小的数地余数在和小的数相除,直到两数余数为零
出现问题
- 求最大公约数的时候将判断余数是否为零地语句放在操作后面导致运算结果错误
- 忘记要设置多组数据