一、概念:最大公约数(GCD)是指能够整除两个或多个整数的最大正整数。(如:整数12和15的最大公约数是3)。
最小公倍数(LCM)是指能够同时整除两个或多个整数的最小正整数(如:整数6和15的最小公倍数是30)。
二、GCD、LCM模板:
1.求两个整数的最大公约数(GCD):
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
2.求两个整数的最小公倍数(LCM):
int lcm(int a,int b)
{
return (a*b) / gcd(a,b);
}
三、运用示例(最简分数的约分):
分子的化简:原分子 /gcd(原分子,原分母)。
分母的化简:原分母 /gcd(原分子,原分母)。
具体代码实现:
#include<iostream>
using namespace std;
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
int a,b;
char ch;
cout<<"请输入需要化简的分数"<<endl;
cin>>a>>ch>>b;
cout<<"约分后的最简分数为"<<endl;
cout<<a/gcd(a,b)<<"/"<<b/gcd(a,b)<<endl;
return 0;
}