C++实现--最大公因数和最小公倍数

时间:2022-09-17 19:02:46
一丶 最大公因数求法:

辗转相除法(也称欧几里得算法)原理:

C++实现--最大公因数和最小公倍数

 
二丶最小公倍数求法:两个整数的最小公倍数等于两整数之积除以最大公约数
 

C++ 代码实现

 #include <iostream>

 using namespace std;

 //辗转相除法(欧几里得算法)

 int gcd(int a, int b)
{
int da = max(a,b);
int xiao = min(a,b);
if(da % xiao == )
return xiao;
else
return gcd(xiao, da % xiao); } // 两个整数的最小公倍数等于两整数之积除以最大公约数 int lcm(int a, int b)
{
return a*b / gcd(a, b);
} int main()
{
int x, y;
cout << "输入两个数字(按Ctrl+Z结束输入): ";
while(cin >> x >> y)
cout << "这两个数的最大公因数是:" << gcd(x, y) << endl
<< "这两个数的最小公倍数是:" << lcm(x, y) << endl; }