计算两个数的最大公约数——辗转相除法

    技术2022-07-12  87

    算法:

    step1:如果b等于0,计算结束,a就是最大公约数;

    step2:否则,计算a除以b的余数,让a等于b,而b等于那个余数;

    step3:回到第一步。

    表格演示:

     a          b          t

    12        18        12

    18        12         6

    12         6          0

    6           0          

    程序:

    # include<stdio.h> int main() { int a,b; scanf("%d %d",&a,&b); int ret=0; int t1=a; int t2=b; while(b!=0){ ret=a%b; a=b; b=ret; printf("a=%d,b=%d,ret=%d\n",a,b,ret); } printf("%d和%d的最大公约数为%d.\n",t1,t2,a); return 0; }

     

     

     

    Processed: 0.019, SQL: 9