最大公约数的求法有两种:辗转相除法 和 枚举法。
枚举法
#include<iostream>
using namespace std;
int main(){
int a,b,max;
cout<<"请输入两个整数:";
cin>>a>>b;
for(int i=1;i<=a&&i<=b;i++)
{
if(a%i==0&&b%i==0)
{
max = i;
}
}
cout<<"最大公约数为:"<<max;
return 0;
}
辗转相除法
#include<iostream>
using namespace std;
int main()
{
int a,b,x;
cout<<"请输入两个整数:";
cin>>a>>b;
while((x=a%b)!=0)
{
a = b;
b = x;
}
cout<<"最大公约数为:"<<b;
return 0;
}
请输入两个整数:32 24
最大公约数为:8
最小公倍数
最小公倍数 = a*b/最大公约数,所以我们得到最大公约数也就可以计算出最小公倍数。
—<完>—