c语言,c++求最大公因数与最小公倍数方法集合
生活随笔
收集整理的這篇文章主要介紹了
c语言,c++求最大公因数与最小公倍数方法集合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先要了解,求兩個數的最小公倍數只需用兩個數的乘積除以最大公因數就可以得到了,所以我們的目標就是找最大公因數
c語言
第一種方法用輾轉相除法:
輾轉相除法, 又名歐幾里德算法(Euclidean algorithm),是求兩個正整數之最大公約數的算法。它是已知最古老的算法, 其可追溯至公元前300年前。
它的具體做法是:用較大數除以較小數,再用出現的余數(第一余數)去除除數,再用出現的余數(第二余數)去除第一余數,如此反復,直到最后余數是0為止。如果是求兩個數的最大公約數,那么最后的除數就是這兩個數的最大公約數。
代碼實現:
2.最大公因數肯定是比兩個數中最小的數還小,所以我們從最小的數開始找,直到找到一個數(兩個數都能對其整數的數)就可以了
c++
c++中有專門找最大公因數的函數,使用即可
#include <iostream> #include <algorithm>//必須包含這個頭文件 using namespace std;int main() {int a, b;while (cin >> a >> b) {int c, t;c = __gcd(a, b);//求最大公因數的函數,注意是量個下劃線__;t = a * b / c;cout << c << ' ' << t << endl;}return 0; }希望對大家有幫助呀
總結
以上是生活随笔為你收集整理的c语言,c++求最大公因数与最小公倍数方法集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中赋值表达示与复制语句的区别
- 下一篇: c++中组数的替代方案