求两个数的最大公因数(约数)

来源:互联网 发布:台湾误射导弹 知乎 编辑:程序博客网 时间:2024/05/17 02:47

/**辗转相除求最大公因数设两数为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";    }}


今天也是收获满满的一天

原创粉丝点击