【演算法資料結構Java實現】歐幾里得演算法
阿新 • • 發佈:2019-01-26
1.背景
歐幾里得演算法是一個求最大因子的快速演算法。如果m,n存在最大因子k,假設m=x*n+r,那麼m和n可以整出k的話,r也肯定可以整除k 因為定理:如果M>N,則M mod N<M/2 ,說明時間複雜度是O(log(n))2.程式碼
package Algorithm_analysis; public class Euclid { public static void main(String[] args){ int m=63; int n=18; int remainder=0; while(n!=0){ remainder=m%n; m=n; n=remainder; } System.out.print(m); } }
/********************************
* 本文來自部落格 “李博Garvin“
******************************************/