假设俩个数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就是最大公约数
}