编程实现:求任意两个正整数的最大公约数和最小公倍数。
(1)主函数功能:输入两个任意正整数,调用子函数求最大公约数和最小公倍数,输出结果。
(2)子函数功能:求两个正整数的最大公约数和最小公倍数,
子函数头要求为void gcd_lcm(int x, int y, int &divisor, int &multiple)。
(3)输入输出格式参见样张:
#include <iostream>
using namespace std;
void gcd_lcm(int x, int y, int &divisor, int &multiple)
{
int a=x,b=y;
while (a%b!=0)
{
divisor=a%b;
a=b;
b=divisor;
}
multiple=x*y/divisor;
cout<<"正整数"<<x<<"和"<<y<<"的最大公约数为"<<divisor<<",最小公倍数为"<<multiple<<endl;
}
int main()
{
int x,y,d,m;
cout<<"请输入两个正整数:";
cin>>x>>y;
gcd_lcm(x,y,d,m);
return 0;
}
运行结果如下: