最快解决c++在线解决马上解决!

来源:百度知道 编辑:UC知道 时间:2024/06/04 23:39:43
(3) 求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数。用另一个函数根据求出的最大公约数求最小公倍数。
1 不用全局变量,分别用两个函数求最大公约数和最小公倍数。两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。
2 用全局变量的方法,分别用两个函数求最大公约数和最小公倍数,但其值不由函数带回。将最大公约数和最小公倍数都设为全局变量,在主函数中输出它们的值。

//最小公倍数原理 lcm(x,y)=x*y/gcd(x,y)

#include <iostream>
#include <cstdlib>

int gcd(int a,int b)
{
if(b)
{
return gcd(b,a%b);

}//end if

else return a;

}//end gcd

int lcm(int a,int b)
{
return a*b/gcd(a,b);

}//end lcy

using namespace std;

int main(char argc,char *argv[])
{
int x,y;
cout<<"请输入两个数"<<endl;
cin>>x>>y;
cout<<"最大公约数:"<<gcd(x,y)<<endl;
cout<<"最小公倍数:"<<lcm(x,y)<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}//end main

#include<iostream>

using namespace std;

int f1(int a,int b)
{
int i;
if (a > b) i = b;
else i = a;