求最大公約數偽代碼


歐幾里德算法又稱輾轉相除法,用於計算兩個正整數a,b的最大公約數。

其計算原理依賴於下面的定理:

兩個整數的最大公約數等於其中較小的那個數和兩數相除余數的最大公約數。最大公約數(greatest common divisor)縮寫為gcd。gcd(a,b) = gcd(b,a mod b) (不妨設a>b 且r=a mod b ,r不為0),以此輾轉相除得到最終結果

參考資料(https://www.cnblogs.com/Dragon5/p/6401596.html)

利用偽代碼實現歐幾里德算法

假如需要求 1997 和 615 兩個正整數的最大公約數,用歐幾里德算法,是這樣進行的:
1997 / 615 = 3 (余 152)
615 / 152 = 4(余7)
152 / 7 = 21(余5)
7 / 5 = 1 (余2)
5 / 2 = 2 (余1)
2 / 1 = 2 (余0)
至此,最大公約數為1
以除數和余數反復做除法運算,當余數為 0 時,取當前算式除數為最大公約數,所以就得出了 1997 和 615 的最大公約數 1。

手動驗證偽代碼是否可行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM