最大公約數的演算法
== 歐幾里德演算法 ==
1.若a=0,則d:=b、跳至第9步;
2.若b=0,則d:=a、跳至第9步;
3.若a4.d:=a mod b;
5.a:=b;
6.b:=d;
7.若d<0,則跳至第4步;
8.d:=b;
9.結束。
1.若a=0,則d:=b、跳至第12步;
2.若b=0,則d:=a、跳至第12步;
3.令正整數p:=0;
4.若a和b都是偶數,則a:=a/2、b:=b/2、p:=p+1;
5.若a和b仍都是偶數,則跳至第4步;
6.若a是偶數、b是奇數,則a:=a/2;
7.若a仍是偶數,則跳至第6步;
8.若a是奇數、b是偶數,則b:=b/2;
9.若b仍是偶數,則跳至第8部;
10.若a和b都不是偶數,則a:=b、b:=|a-b|;
11.若b<>0,則跳至第4步;
12.d:=a*exp(2,p);
13.結束。
通常,在面對一般情況時,可以採用歐幾里德演算法,該演算法由於其歷史悠久,更具可讀性且易交流;同時,其效率在很多時候是優於Stein演算法的。而當面對大數運算時,Stein演算法無疑是最佳的選擇。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/787895/viewspace-1009722/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 求最大公公約數(最大公因數)—— 歐幾里得演算法演算法
- java演算法 求最大公約數Java演算法
- 【演算法拾遺】最大公約數演算法
- 最大公約數與歐幾里得演算法演算法
- 最大公約數與最小公倍數演算法演算法
- 最大公約數GCDGC
- 《九章算術》中的最大公約數演算法演算法
- C. 最大公約數
- 演算法第四版-找兩個數的最大公約數演算法演算法
- 演算法設計與分析:求兩個自然數的最大公約數演算法
- 最大公約數和最小公倍數
- 求多個數最大公約數、最小公倍數的一種變換演算法演算法
- 【shell 指令碼】求最大公約數指令碼
- php判斷二個數最大公約數PHP
- C++:最小公倍數與最大公約數C++
- 最大公約數和最小公倍數--java實現Java
- python語言程式設計——求最大公約數和最小公倍數演算法Python程式設計演算法
- acwing246 區間最大公約數
- 歐幾里德演算法(又稱輾轉相除法)求最大公約數,以及最小公倍數演算法
- c語言遞迴函式實現求最大公約數(Euclid演算法)C語言遞迴函式演算法
- 求一個數的最大公約數的三種思路——解題筆記筆記
- linux C(hello world)最大公約數和最小公倍數Linux
- python用輾轉相除法求最大公約數Python
- 輾轉相除法求最大公約數——[js練習]JS
- 6-8 使用函式求最大公約數 (10分)函式
- 進位制均值-進位制轉換+最大公約數
- 51nod1040 最大公約數之和 (尤拉函式 )函式
- 求兩個正整數的最大公約數與最小公倍數--C#實現C#
- 求最大公約數不同演算法的時間比較(輾轉相除法,更相減損術等)演算法
- abc112D 和為定值時的最大公約數
- 面試官:來寫個程式碼求一下兩個數的最大公約數吧面試
- P8792 [藍橋杯 2022 國 A] 最大公約數
- C語言 用更相減損術求最大公約數,最小公倍數C語言
- NumPy 差分、最小公倍數、最大公約數、三角函式詳解函式
- 【JAVA習題六】輸入兩個正整數m和n,求其最大公約數Java
- 尋找最大公因數(歐幾里得演算法)--C語言描述演算法C語言
- C語言第七篇:輾轉相除法求最大公約數C語言
- 大公司最喜歡問的Java集合類面試題Java面試題