1.1 gcd()函數(shù)簡單介紹
? 簡介:Greatest Common Divisor,縮寫為 gcd。
? 分析:gcd函數(shù)通常用于求解兩個數(shù)的大公約數(shù),介紹兩種常用求解方法
? 方法一:輾轉(zhuǎn)相除法
int gcd(int a, int b){return b ? gcd(b, a % b) : a;
}
? 方法二:gcd函數(shù) — 頭文件“algorithm”
#include
int res = __gcd(a, b)
2.1 拓展補(bǔ)充 —— lcm函數(shù)
? 簡介:lowest common multiple,縮寫為 lcd。
? 分析:lcd函數(shù)用于求解最小公倍數(shù),核心在于一個數(shù)學(xué)定理 lcd(a, b) = a * b / gcd(a, b),利用大公約數(shù)去求解最小公倍數(shù)
lcm(a, b) = a * b / gcd(a, b);
3.相關(guān)代碼運(yùn)行展示3.1 輾轉(zhuǎn)相除法運(yùn)行展示
#include#include
using namespace std;
int gcd(int a, int b){return b ? gcd(b, a % b): a;
}
int main(){int a = 28, b = 20;
cout<< "28 和 20的大公約數(shù)為 "<< gcd(a, b)<< endl;
}
3.2 直接調(diào)用__gcd()函數(shù)結(jié)果展示
#include#include
using namespace std;
int main(){int a = 28, b = 20;
cout<< "28 和 20的大公約數(shù)為 "<< __gcd(a, b)<< endl;
}
3.3 lcm函數(shù)展示
#include#include
using namespace std;
int lcm(int a, int b){return a * b / __gcd(a, b);
}
int main(){int a = 28, b = 20;
cout<< "28 和 20的最小公倍數(shù)為 "<< lcm(a, b)<< endl;
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧