求兩個數的最大公約數的三種做法

2021-08-21 18:25:24 字數 687 閱讀 5981

1.相減法

兩個數,相等時,最大公約數為他們其中任意乙個。不相等時,用大數減小數。得到的差和之前的那個小數再次相減,直到兩個數相等,這兩個中,任意乙個都是最大公約數。(**如下)

#includeint main()

printf("最大公約數為:%d\n", b);

return 0;

}

2.窮舉法

如果大數可以整除小數,那麼最大公約數為小數。如果不能整除小數,那麼這兩個數就按大到小依次對比小數小的數求餘,遇到都能夠整除的,就是最大公約數。(**如下)

#includeint main()

} }else

}} return 0;

}

3.輾轉相除法

用大數對小數求餘,若餘數為0,則除數為最大公約數。若餘數不為0,將此餘數作為除數,小數作為被除數,重新求餘,直到餘數為0為止。此時的最大公約數為餘數。例如:27和6.  27%6=3.  6%3=0.  所以最大公約數為3.(**如下)

#includeint main()

printf("最大公約數為:%d\n", b);

} else

printf("最大公約數為:%d\n", a);

} return 0;

}

求兩個數的最大公約數的三種演算法

從鍵盤輸入兩個整數,求著兩個整數的最大公約數。解題思路 從鍵盤輸入兩個數,通過以下的三個方法實現求兩個數的最大公約數 輾轉相除法 取兩個數中最大的數做除數,較小的數做被除數,用最大的數除較小數,如果餘數為0,則較小數為這兩個數的最大公約數,如果餘數不為0,用較小數除上一步計算出的餘數,直到餘數為0,...

求兩個數最大公約數

題目 寫乙個程式,求兩個正數的最大公約數。如1100100210001,120200021,求其最大公約數 分析 設兩個數分別為x,y 求其最大公約數f x,y 如果有x 2 0而y 2不等於0,那麼可以 約簡為f x 2,y 同樣道理適用於y 如果x與y都是偶數,那麼最大公約數可以為f x 2,y...

求兩個數的最大公約數

求公約數有多種方法,在這主要介紹兩種方法。1 更相減損之術 以兩數中較大的數減去較小的數,獲得的差與原先較小的數構成新的一對數,在以大的數減去小的數,依次迴圈。用同樣的方法操作,直至產生一對相等的數為止,該數即為最大公約數。include include intmain while n 0 if a...