#include <iostream>
#include <algorithm>
using namespace std;
//迭代法
//同时也是algorithm中模板函数__gcd(T, T)的实现方法
int gcd1(int a,int b)
{
while(b != 0){
int c = a % b;
a = b;
b = c;
}
return a;
}
//递归法
int gcd2(int a, int b)
{
if(b == 0)
return a;
else
gcd2(b, a%b);
}
int main()
{
int a,b;
cin >> a >> b;
cout << "迭代法" <<endl;
cout << gcd1(a,b) <<endl;
cout << "递归法" <<endl;
cout << gcd2(a,b);
//最大公倍数
//公式 m*n/gcd(m,n)
cout << "\n最大公倍数" <<endl;
//先除一下再乘一下,防止数据过大溢出
cout << a/__gcd(a,b)+b;
return 0;
}
数论基础-----最小公约数和最大公倍数
最新推荐文章于 2024-10-12 22:21:30 发布