算法优化之最大公约数和最小公倍数;
1.最大公约数
#include<iostream>
#include<string>
using namespace std;
int f(int a,int b){
int t;
while(b!=0){
t=a%b;
a=b;
b=t;
}return a;
}
int main()
{
int x,y;
cin>>x>>y;
int r=f(x,y);
cout<<r;
return 0;
}
思想
a为除数,b为被除数,定义一个余数t
先判断被除数是否为0;
再进行取余;
取余过后将被除数的值赋给除数;
余数的值赋给除数;
就一直循环,,,,直到余数为零,则最后得到的被除数为最大公约数;
2.最小公倍数
若a,b的最大公约数为d,则最小公倍数为a/d*b;//此写法可防止溢出;