/**辗转相除求最大公因数
设两数为a、b(a>b),求a和b最大公约数(a,b)的步骤如下:
用a除以b,得a÷b=q......r1(0≤r1)。若r1=0,则(a,b)=b;
若r1≠0,则再用b除以r1,得b÷r1=q......r2 (0≤r2
若r2=0,则(a,b)=r1,若r2≠0,则继续用r1除以r2,
……如此下去,直到能整除为止。其最后一个余数为0的除数即为(a, b)的最大公约数。
*/
#include<iostream>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
int c=max(a,b);
int d=min(a,b);
int t;//中间变量,存余数的
if(a!=0&&b!=0){
t=c%d;
while(t!=0){
a=b;
b=t;
t=b%t;
}
cout<<b;
}
else{
cout<<"error";
}
}
今天也是收获满满的一天