C++求最大公约数和最小公倍数
C++求最大公约数和最小公倍数
任务描述
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用两个函数,并输出结果,两个整数由键盘输入。
测试输入:
14 28
预期输出:
最小公倍数:5
最大公约数:75
测试输入:
17 29
预期输出:
最小公倍数:1
最大公约数:493
源码:
#include <iostream>
using namespace std;
int main()
{
int hcf(int,int);
int lcd(int,int,int);
// 请在此添加代码
/********** Begin *********/
int x,y;
cin>>x>>y;
cout<<"最大公约数:"<<hcf(x,y)<<endl;
cout<<"最小公倍数:"<<lcd(x,y,hcf(x,y))<<endl;
/********** End **********/
return 0;
}
//计算最大公约数
int hcf(int u,int v)
{
// 请在此添加代码
/********** Begin *********/
int temp;
if(u<v){
temp = u;
u = v;
v = temp;
}
while(v){
temp=u%v;
u=v;
v=temp;
}
return u;
/********** End **********/
}
//计算最小公倍数
int lcd(int u,int v,int h)
{
// 请在此添加代码
/********** Begin *********/
return u*v/h;
/********** End **********/
}