假设俩个数a,b;a>b
用较大的一个数除以较小的数得到第一个余数
再用b除以c得到第二个余数
接着用第一个余数除以第二个余数得到第三个余数
然后用第二个余数除以第三个余数得到第四个余数
以此下去知道有一个余数为0则它的上一个余数为最大公约数
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b;
if(a<b)
{
int t;
t=a;
a=b;
b=t;
}
while(b!=0)
{
c=a%b;a=b;b=c;//代表除数 b代表被除数
}
cout<<a<<endl;//a就是最大公约数
}
本文介绍了一种高效求解两个整数最大公约数的方法——欧几里得算法,并通过C++代码实现了该算法。
4120

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



