C语言中 用函数调用求最大公约数和最小公倍数

如题所述

#include<stdio.h>
int gcd(int m, int n);
int lcd(int m, int n);
int main()
{
int a, b;
printf("输入两个正整数:");
scanf("%d%d", &a, &b);
printf("%d 和 %d 最大公约数为%d\n", a, b, gcd(a, b));
printf("最小公倍数为:%d\n", lcd(a, b));
}
int gcd(int m, int n)
{
int t;
if (m<n)
{
t = m;
m = n;
n = t;
}
while (n != 0)
{
t = m%n;
m = n;
n = t;
}
return m;
}
int lcd(int m, int n)
{
int t;
t = m*n / gcd(m, n);
return t;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-30
#include
<stdio.h>
/*求最大公约数和最小公倍数*/
int
f(int
m,int
n)
{
int
c;
while(n
>
0)
{
c=m%n;
m
=
n;
n
=
c;
}
return
(m);
}
/*
//求最大公约数和最小公倍数
//递归求最小公倍数
int
f(int
m,int
n)
{
return
(n
>0)?
f(m,m%n):m;
}
*/
int
main(void)
{
int
m,n,a;
int
f(int
m,int
n);
printf("please
input
two
numbles:");
scanf("%d,%d",&m,&n);
printf("the
max
is
%d\n",f(m,n));//最大公约数
printf("the
min
is
%d\n",m*n/f(m,n));//最小公倍数
system
("pause");
return
0;
}
参照了百度的gcd,即碾转相除法,是欧几里得的几何原本中的。本回答被网友采纳

C语言中 用函数调用求最大公约数和最小公倍数
printf("the max is %d\\n",f(m,n));\/\/最大公约数 printf("the min is %d\\n",m*n\/f(m,n));\/\/最小公倍数 system ("pause");return 0;} 参照了百度的gcd,即碾转相除法,是欧几里得的几何原本中的。

C语言中 用函数调用求最大公约数和最小公倍数
include<stdio.h> int gcd(int m, int n);int lcd(int m, int n);int main(){ int a, b;printf("输入两个正整数:");scanf("%d%d", &a, &b);printf("%d 和 %d 最大公约数为%d\\n", a, b, gcd(a, b));printf("最小公倍数为:%d\\n", lcd(a, b));} int gcd(int ...

C语言中如何调用函数求最大公约数和最小公倍数?
int main(){ int a,b,c,d;printf(“请输入数字:”);scanf("%d,%d",&c,&d);\/\/此处注意在输出的时候数字之间要打都好,不然输出结果错误 b=_Y(c,d);a=c*d\/b;printf(“最大公约数为:%d\\n”,b);printf(“最小公倍数为:%d\\n”,a);return 0;} int _Y(int x,int y){ int...

C语言用函数求最大公约,最小公约数
int main(){ int zdgys(int x, int y); \/\/求最大公约数 int zxgbs(int x, int y); \/\/求最小公倍数 int a,b,max,min;scanf("%d %d",&a,&b);max = zdgys(a, b); \/\/求最大公约数 min = zxgbs(a, b); \/\/求最小公倍数 printf("最大公约数为%d,最小公倍数为%d"...

C语言中用两个函数求最大公约数和最小公倍数,用主函数调用这两个函数...
先编写好最大公约数和最小公倍数的函数,如下:intgcd(inta,b)\/\/求最大公约数函数{if(a%b==0)returnb;elsereturngcd(b,a%b);\/\/辗转相除法}intlcm(inta,b)\/\/求最小公约数函数{intx;x:=gcd(a,b);\/\/调用gcd()函数returna

如何用C语言求三个数的最大公约数和最小公倍数
为了回答这个问题,我们编写了一个程序,该程序可以计算三个整数的最大公约数和最小公倍数。程序使用了两个函数,`common_divisor()` 和 `common_multiple()`。首先,定义三个整数变量i、j和k,分别输入这三个数。然后,计算最大公约数,使用 `common_divisor()` 函数。该函数接受三个整数作为参数...

C语言 用函数求最大公约数和最小公倍数
max里面return(r+1);改成 return r;最小公倍数:k = m*n\/max(m,n)

C语言函数编写,求两个整数的最大公约数和最小公倍数
编写该程序的整体思路:分别定义最大公约数函数和最小公倍数函数,然后再main函数里面调用它。C语言实现代码如下:include<stdio.h> include<math.h> int fun_gy(int,int); \/\/声明最大公约数函数 int fun_gb(int,int); \/\/声明最小公倍数函数 main(){ int a,b,gy,gb;printf("输入两个...

...函数,分别求两个正整数的最大公约数和最小公倍数,结果作为函数返回值...
int gcd(int x,int y)\/\/最大公约数 { if (y==0)return x;else return gcd(y,x%y);} int lcd (int x,int y,int z)\/\/最小公倍数 { return x*y\/z;} int main(){ int a,b,c;scanf("%d%d",&b,&c);int d=gcd(b,c);printf("%d %d",d,lcd(b,c,d));return 0;} ...

...个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两...
include<stdio.h>\/\/0和任意的一个数的最大公约数就是那个数(最小公倍数就是0)int yue(int x,int y){ int m,t;if(y>x){ t=x;\/\/将x与y的值交换 x=y;y=t;} while(y!=0){ m=x%y;x=y;y=m;} return x;} int bei(int x,int y,int p){ return(x*y\/p);} int ...

相似回答