計算兩個數的最大公約數——輾轉相除法

算法:

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;
}

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章