如何实现,在A函数中求出的值,在B函数中仍然可以使用
#include<iostream>using namespace std;
int gcd(int x, int y);
int lcm(int x, int y);
int main()
{
int m, n;
cout << "请输入两个正整数:";
cin >> m >> n;
cout << "最大公约数为:" << gcd(m, n) << endl;//最大公约数
cout << "最小公倍数为:" << lcm(m, n);//最小公倍数
}
int gcd(int x, int y)
{
int temp;
if (x < y)
{
temp = y;
y = x;
x = temp;
}
int c = 1;
while (c)
{
c = x % y;
x = y;
y = c;
}
return x;
}
int lcm(int x, int y)
{
int r = x * y;
int temp;
if (x < y)
{
temp = y;
y = x;
x = temp;
}
int c = 1;
while (c)
{
c = x % y;
x = y;
y = c;
}
int d = r / x;
return d;
}
这是一个求最大公约数和最小公倍数的代码
想请问一下下各位大神们
如果想在求最小公倍数的函数lcm中用
求最大公约数函数gcd中已经求得的最大公约数x
该如何实现啊 #include<iostream>
using namespace std;
int gcd(int x, int y);
int lcm(int x, int y);
int main()
{
int m, n,x;
cout << "请输入两个正整数:";
cin >> m >> n;
x = gcd(m,n);
cout << "最大公约数为:" << x << endl;//最大公约数
cout << "最小公倍数为:" << lcm(m, x);//最小公倍数
}
int gcd(int x, int y)
{
int temp;
if (x < y)
{
temp = y;
y = x;
x = temp;
}
int c = 1;
while (c)
{
c = x % y;
x = y;
y = c;
}
return x;
}
int lcm(int x, int y)
{
int r = x * y;
int temp;
if (x < y)
{
temp = y;
y = x;
x = temp;
}
int c = 1;
while (c)
{
c = x % y;
x = y;
y = c;
}
int d = r / x;
return d;
} 没办法。 引入一个新变量x
int x;
将gcd的返回值给x
x = gcd(m,n);
再使用x,需要求x和谁的最小公倍数就和谁一起带入函数
楼主我这里有一个关于最大公约数和最小公倍数的算法,你可以看一下 设置一个全局变量,或静态变量
页:
[1]