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

 我来答
世俗SN
2020-11-26
知道答主
回答量:34
采纳率:100%
帮助的人:1.6万
展开全部
#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;
}
东门有福塞钗
2019-12-30 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:31%
帮助的人:629万
展开全部
#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,即碾转相除法,是欧几里得的几何原本中的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式