##最大公约数:gcd
##最大公倍数:lcm
##gcd和lcm的性质:(我觉得主要是第三点性质)
####若gcd (𝑛,𝑥) = 1,那么gcd (𝑛,𝑛 − 𝑥)一定等于1 ##欧几里得算法(辗转相除法):
证明原理:
####代码:
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a%b);
}
递归复杂度:
##algorithm 库函数里内置好了最大公约数模板 加一个头文件#include 直接调用___gcd(a,b),返回值就是a和b的最大公约数
__gcd(a,b)
##最后放上模板,求gcd和lcm:
#include
#include
using namespace std;
/*algorithm 库函数里内置好了最大公约数模板
加一个头文件#include直接调用___gcd(a,b),返回值就是a和b的最大公约数*/
int gcd(int a,int b){
if(b==0){
return a;
}
return gcd(b,a%b);
}
int lcm(int a,int b){
return a*b/gcd(a,b);
}
int main() {
int n,m;
cin>>n>>m;
/*最大公约数2种*/
cout<
cout<<__gcd>
/*最小公倍数2种*/
cout<
cout<
return 0;
}