演算法設計與分析-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演算法
- 演算法設計與分析(fd)演算法
- 最大公約數與歐幾里得演算法演算法
- 演算法設計與分析---論序演算法
- 演算法分析與設計 - 作業1演算法
- 演算法分析與設計 - 作業2演算法
- 演算法分析與設計 - 作業3演算法
- 演算法分析與設計 - 作業5演算法
- 演算法分析與設計 - 作業6演算法
- 萬能歐幾里得演算法演算法
- 【演算法分析與設計】輾轉相除法演算法
- 計算機演算法設計與分析——遞迴與分治策略(一)計算機演算法遞迴
- 第三章——演算法設計與分析演算法
- 計算機演算法設計與分析筆記(二)——遞迴與分治計算機演算法筆記遞迴
- 演算法學習之路|歐幾里得遊戲演算法遊戲
- C#演算法設計與分析-尋找素數 (轉)演算法
- 淺談擴充套件歐幾里得演算法套件演算法
- 類歐幾里得演算法學習筆記演算法筆記
- 28、(向量)歐幾里得距離計算
- 【演算法資料結構Java實現】歐幾里得演算法演算法資料結構Java
- 量表設計與分析實戰
- 擴充套件歐幾里得演算法公式快速推導套件演算法公式
- 演算法設計與分析:求兩個自然數的最大公約數演算法
- 輾轉相除法(歐幾里得演算法)(gcd)模板及其原理演算法GC
- 如何進行系統分析與設計
- 物件導向分析與設計(OOAD)物件
- 《資料結構與演算法分析》學習筆記-第十章-演算法設計技巧資料結構演算法筆記
- 程式設計與演算法--(列舉-完美立方)程式設計演算法
- 【演算法】1 由插入排序看如何分析和設計演算法演算法排序
- 尋找最大公因數(歐幾里得演算法)--C語言描述演算法C語言
- 數論學習筆記 (4):擴充套件歐幾里得演算法筆記套件演算法
- 求最大公公約數(最大公因數)—— 歐幾里得演算法演算法
- 軟體設計雜談(一)--需求分析與系統設計 (轉)
- 《實用演算法的分析與程式設計》的讀書筆記(第1天) (轉)演算法程式設計筆記
- 《實用演算法的分析與程式設計》的讀書筆記(第2天) (轉)演算法程式設計筆記
- 演算法設計與分析中的幾個核心演算法策略:動態規劃、貪心演算法、回溯演算法和分治演算法演算法動態規劃
- 擴充套件歐幾里得套件