演算法設計與分析-01歐幾里得
歐幾里得GCD演算法
GCD:Greatest Common Divisor 最大公約數問題。
演算法的虛擬碼表示
◼初始條件:
◼給定整數? ≥ ?,? ≥ ?,且?,?不同時為0;
◼ 目標:求?,?的最大公約數。
◼ 方法:
1. 輸入?,?
2. while ? ≠ ?
3. r = a MOD b
4. a = b
5. b = r
6. 轉2 7. 輸出結果:a
演算法的手算表格
求1035與759的最大公約數
演算法的java程式碼表示
package e;
import java.util.*;
public class GCD {
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
// TODO 自動生成的方法存根
System.out.println("請輸入第一個數字a:");
int a = input.nextInt();
System.out.println("請輸入第二個數字b:");
int b = input.nextInt();
EuclidGCD(a, b);
}
public static void EuclidGCD(int a,int b){
int r = 0;
int q = 0;
System.out.println("a b r q");
while(b != 0) {
r = a % b;
q = a / b;
System.out.println(" "+a+" "+b+" "+r+" "+q);
a = b;
b = r;
}
System.out.println(" "+a+" "+b);
}
}
java程式碼執行結果
相關文章
- 歐幾里得演算法與 EX演算法
- [待更新]歐幾里得演算法(輾轉相除法)與擴充歐幾里得演算法演算法
- 萬能歐幾里得演算法演算法
- 28、(向量)歐幾里得距離計算
- 擴充套件歐幾里得套件
- 類歐幾里得演算法學習筆記演算法筆記
- 淺談擴充套件歐幾里得演算法套件演算法
- 擴充套件歐幾里得演算法公式快速推導套件演算法公式
- Python如何用歐幾里得求逆元Python
- 輾轉相除法(歐幾里得演算法)(gcd)模板及其原理演算法GC
- 數論學習筆記 (4):擴充套件歐幾里得演算法筆記套件演算法
- 求最大公公約數(最大公因數)—— 歐幾里得演算法演算法
- CCF NOI 1028 判斷互質 :利用歐幾里得演算法最大公因數演算法
- 洛谷 P6362 平面歐幾里得最小生成樹
- 第六章 數學問題 -------- 6.5 歐幾里得演算法及其擴充套件演算法套件
- 尤拉函式、整除分塊和擴充套件歐幾里得函式套件
- C++等差數列(數論、歐幾里得輾轉相除gcd)C++GC
- 歐幾里德的遊戲遊戲
- 2.5天完成1年的MD計算?DeepMind團隊基於歐幾里得Transformer的新計算方法ORM
- 演算法設計與分析(fd)演算法
- 演算法設計與分析---論序演算法
- 第六章 數學問題 -------- 6.7【擴充套件歐幾里得】一步之遙套件
- 演算法分析與設計 - 作業1演算法
- 演算法分析與設計 - 作業2演算法
- 演算法分析與設計 - 作業3演算法
- 演算法分析與設計 - 作業5演算法
- 演算法分析與設計 - 作業6演算法
- 【演算法分析與設計】輾轉相除法演算法
- 將帶標籤的點雲輸入並進行歐幾里得聚類處理(自定義點雲)聚類
- 第三章——演算法設計與分析演算法
- 計算機演算法設計與分析筆記(二)——遞迴與分治計算機演算法筆記遞迴
- 演算法設計與分析中的幾個核心演算法策略:動態規劃、貪心演算法、回溯演算法和分治演算法演算法動態規劃
- Spark/Scala實現推薦系統中的相似度演算法(歐幾里得距離、皮爾遜相關係數、餘弦相似度:附實現程式碼)Spark演算法
- 01 shell程式設計規範與變數程式設計變數
- 得物社群計數系統設計與實現
- 多元統計分析01:多元統計分析基礎
- ds_c01 演算法效能分析.md演算法
- 01 GUI程式設計GUI程式設計