描述编写求最大公约数的函数gcd和最小公倍数的函数lcm。 可以使用函数的嵌套调用,使用lcm的调用gcd函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了描述编写求最大公约数的函数gcd和最小公倍数的函数lcm。 可以使用函数的嵌套调用,使用lcm的调用gcd函数相关的知识,希望对你有一定的参考价值。
下列主函数可用于测试lcm函数和gcd函数:
int main()
int m, n;
cin >> m >> n;
cout << "gcd(" << m << "," << n << ") = " << gcd(m,n) << endl;
cout << "lcm(" << m << "," << n << ") = " << lcm(m,n) << endl;
return 0;
输入输入两个int型变量,m和n,中间用空格分开。
输出输出m和n的最大公约数和最小公倍数
using namespace std;
int gcd(int x, int y)
if(y == 0)
return x;
return gcd(y, x%y);
int lcm(int x, int y)
return x * y / gcd(x, y);
int main()
int m, n;
cin >> m >> n;
cout << "gcd(" << m << "," << n << ") = " << gcd(m,n) << endl;
cout << "lcm(" << m << "," << n << ") = " << lcm(m,n) << endl;
return 0;
本回答被提问者采纳
关于gcd函数解最大公约数
数学知识:由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积.即(a,b)×[a,b]=a×b.所以,求两个数的最小公倍数,就可以先求出它们的最大公约数,然后用上述公式求出它们的最小公倍数.
例如,求[18,20],即得[18,20]=18×20÷(18,20)=18×20÷2=180.
求几个自然数的最小公倍数,可以先求出其中两个数的最小公倍数,再求这个最小公倍数与第三个数的最小公倍数,依次求下去,直到最后一个为止.最后所得的那个最小公倍数,就是所求的几个数的最小公倍数.
编程知识:
int gcd(int a,int b){ //声明函数
if (b==0) return a;
else return gcd(b,a%b);}
下面是完整算法: 下面是写法:
int gcd(int a,int b) # include<stdio.h>
{ int gcd(int a,int b)
int c,r; {if(b==0) return a;
if(a<b){c=a;a=b;b=c;} else return gcd(b,a%b);}
r=a%b; int main
while(r) {}
{
a=b;b=r;r=a%b;
}
return b;
}
下面是用法:
gcd(x,y) 表示x和y的最大公约数
以上是关于描述编写求最大公约数的函数gcd和最小公倍数的函数lcm。 可以使用函数的嵌套调用,使用lcm的调用gcd函数的主要内容,如果未能解决你的问题,请参考以下文章
编写一个 函数把华氏温度转化为 摄氏温度,转换公式用递归的方法 编写 函数求Fibonacci级数。编写函数求两个数的最大公约数和最小公倍数