演算法設計與分析-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程式碼執行結果
相關文章
- 歐幾里得演算法與擴充套件歐幾里得演算法演算法套件
- 最大公約數與歐幾里得演算法演算法
- 演算法設計與分析(fd)演算法
- 演算法設計與分析---論序演算法
- 演算法分析與設計 - 作業1演算法
- 演算法分析與設計 - 作業2演算法
- 演算法分析與設計 - 作業3演算法
- 演算法分析與設計 - 作業5演算法
- 演算法分析與設計 - 作業6演算法
- 【演算法分析與設計】輾轉相除法演算法
- 計算機演算法設計與分析——遞迴與分治策略(一)計算機演算法遞迴
- 第三章——演算法設計與分析演算法
- 演算法學習之路|歐幾里得遊戲演算法遊戲
- 計算機演算法設計與分析筆記(二)——遞迴與分治計算機演算法筆記遞迴
- 淺談擴充套件歐幾里得演算法套件演算法
- 類歐幾里得演算法學習筆記演算法筆記
- C#演算法設計與分析-尋找素數 (轉)演算法
- 28、(向量)歐幾里得距離計算
- 【演算法資料結構Java實現】歐幾里得演算法演算法資料結構Java
- 量表設計與分析實戰
- 輾轉相除法(歐幾里得演算法)(gcd)模板及其原理演算法GC
- 演算法設計與分析:求兩個自然數的最大公約數演算法
- 如何進行系統分析與設計
- 《資料結構與演算法分析》學習筆記-第十章-演算法設計技巧資料結構演算法筆記
- 尋找最大公因數(歐幾里得演算法)--C語言描述演算法C語言
- 數論學習筆記 (4):擴充套件歐幾里得演算法筆記套件演算法
- 擴充套件歐幾里得套件
- 程式設計與演算法--(列舉-完美立方)程式設計演算法
- 【演算法】1 由插入排序看如何分析和設計演算法演算法排序
- 《實用演算法的分析與程式設計》的讀書筆記(第1天) (轉)演算法程式設計筆記
- 《實用演算法的分析與程式設計》的讀書筆記(第2天) (轉)演算法程式設計筆記
- 軟體設計雜談(一)--需求分析與系統設計 (轉)
- 軟體專案管理流程分析與設計專案管理
- LevelDB系統結構與設計思路分析
- 機器學習可視分析框架設計與實現機器學習框架
- 系統分析與設計-Lesson8-Homework
- 進銷存設計與分析_總體(1)
- 機器學習演算法原理與程式設計學習(2)機器學習演算法程式設計