一 最大公約數演算法:
1.輾轉相除思想
有整數a b;
(1)a%b得到餘數c
(2)若c==0,則b就是最大公約數
(3若c!=0,則a=b;b=c;繼續執行(1)
int getgreatestcommondivisor(int a, int b)//輾轉相除
return a;
}
2.相減法
有整數a b;
(1)若a>b,則a=a-b;
(2) 若a
(3)若a==b,則a(b)則就是兩數最大公約數
(4)若a!=b,繼續迴圈執行(1)
例如求3和9最大公約數
9-3=6(6>3) 6-3=3(3=3)因此3就是最大公約束
int getgreatestcommondivisor(int a, int b)//相減法
else
}return a;
}
3.窮舉法
不解釋了,直接上**,相信大家都能看懂
int getgreatestcommondivisor(int a, int b)//窮舉法
return t;
}
4.窮舉法改進
int getgreatestcommondivisor(int a, int b)
}return i;
}
二 最小公倍數演算法:
1.最小公倍數=兩數成積/最大公約數 也就是說只要算出了最大公約數,即可得到最小公倍數
2.窮舉法
int theleastcommonmultiply(int a, int b)
} return i;
}
三 窮舉法求多個數最大公約數與最小公倍數
int getgreatestcommondivisor(int a, int b,int c)
} return i;
}int theleastcommonmultiply(int a, int b,int c)
} return i;
}int main()
求最大公約數,最小公倍數
歐幾里德遞迴演算法,大數對小數取餘直到小數為0,大數為最大公約數 param m param n return static int maxcommondivisor euclid recursion int m,int n return m 劉徽兩數相減直到兩數相等,等數為最大公約數 param ...
求最小公倍數與最大公約數
最大公約數是指兩個數相同因子總最大的那個,比如35和42,最大公倍數是7。要求最大公倍數,最常用的演算法是輾轉相除法,詳見下面的 最小公倍數是指兩個數共有的倍數中最小的那個,比如35和42,最小公倍數是210,6和12,最小公倍數是12。兩個數如果有最大公約數的話,他們的最小公倍數就是他們的乘積處以...
求最大公約數與最小公倍數
首先,我們假設兩個正整數a和b,我們來求這兩個數的最大公約數和最小公倍數 重點一 數學概念 兩個數的乘積等於這兩個數的最大公約數和最小公倍數的乘積 也就是說,我們只需要求得最大公約數與最小公倍數其中乙個,便可以推出另乙個 重點二 輾轉相除法求最大公約數 舉個例子理解一下這個方法 例如 與 我們把大的...