C语言函数编写,求两个整数的最大公约数和最小公倍数

C语言函数编写,求两个整数的最大公约数和最小公倍数... C语言函数编写,求两个整数的最大公约数和最小公倍数 展开
 我来答
MyOpen
2019-05-21 · TA获得超过2861个赞
知道答主
回答量:68
采纳率:0%
帮助的人:4.1万
展开全部

编写该程序的整体思路:分别定义最大公约数函数和最小公倍数函数,然后再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("输入两个整数:\n");

scanf("%d%d",&a,&b);

gy=fun_gy(a,b);   //调用最大公约数函数

gb=fun_gb(a,b);  //调用最小公倍数函数

printf("最大公约数是:%d\n最小公倍数是:%d\n",gy,gb);

}

int fun_gy(int x,int y)

{

int z,i;

if(x>y)

z=sqrt(y);

else 

z=sqrt(x);

for(i=z;i>=1;i--)

{

if(x%i==0&&y%i==0)

break;

}

return i;

}

int fun_gb(int x,int y)

{

int z,i; 

z=x*y;

for(i=x;i<=z;i++)

{

if(i%x==0&&i%y==0)

break;

}

return i;

}

程序运行结果:

扩展资料:

这里涉及到了最大公约数和最小公倍数的计算方法:

我们知道两个整数的最小公倍数等于他们的乘积除以他们的最大公约数。所以关键还是最大公约数的计算。

辗转相除法(求最大公约数):

假设求a,b的最大公约数,则:

(1)a除以b取余得c,若c=0,则b即为两数的最大公约数,输出,结束。

(2)若c  != 0,则将b赋给a,c赋给b再返回上一步操作,继续执行。

例如,求30和98的最大公约数,过程如下:

90%30 = 8;

30%8 = 6;

8%6 = 2;

6%2 = 0;

所以最大公约数为2。

xuzhouliuying
高粉答主

2018-04-24 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:5.4万
采纳率:86%
帮助的人:2.4亿
展开全部
#include <stdio.h>
void fun(int m,int n){
int a=m,b=n,r;
while(b) {r=a%b;a=b;b=r;}
printf("\n最大公约数%d\n最小公倍数%d\n",a,m*n/a);
}
//以上为求两个正整数最大公约数、最小公倍数的函数,以下为主函数
void main(){
int m,n;
scanf("%d%d",&m,&n);
fun(m,n);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巨思衲r7
2019-12-21 · TA获得超过2224个赞
知道答主
回答量:1885
采纳率:15%
帮助的人:125万
展开全部
新语言函数编写求两个整数的最大公约和最小公约,这个你可以去问老师,嗯,因为老师他们知道的比较具体,会给你们相关的回答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式