c语言,求两个非负整数的最大公约数和最小公倍数

c语言,求两个非负整数的最大公约数和最小公倍数... c语言,求两个非负整数的最大公约数和最小公倍数 展开
 我来答
帐号已注销
2021-06-24 · TA获得超过76.9万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:138万
展开全部

最大公约数:枚举法,辗转相除法;最小公倍数:两数乘积除以最大公约数即可。

#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);

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

break;

两个整数的最大公约数

* 两数各分解质因数,然后取出同样有的质因数乘起来

*辗转相除法(扩展版)

和最小公倍数(lcm)的关系:

gcd(a, b) * lcm(a, b) = ab

a与b有最大公约数,

两个整数的最大公因子可用于计算两数的最小公倍数,或分数化简成最简分数

两个整数的最大公因子和最小公倍数中存在分配律:

* gcd(a, lcm(b, c)) = lcm(gcd(a, b), gcd(a, c))

* lcm(a, gcd(b, c)) = gcd(lcm(a, b), lcm(a, c))

在坐标里,将点(0, 0)和(a, b)连起来,通过整数坐标的点的数目(除了(0, 0)一点之外)就是gcd(a, b)。

以上内容参考:百度百科-最大公约数

野人无事不言L
2016-01-19 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:125.2亿
展开全部
main() { int p,r,n,m,temp; printf("Please enter 2 numbers n,m:"); scanf("%d,%d",&n,&m);//输入两个正整数. if(n<m)//把大数放在n中,把小数放在m中. {temp=n; n=m; m=temp; } p=n*m;//P是原来两个数n,m的乘积. while(m!=0)//求两个数n,m的最大公约数. { r=n%m; n=m; m=r; } printf("Its MAXGongYueShu:%d\n",n);//打印最大公约数. printf("Its MINGongBeiShu:%d\n",p/n);打印最小公倍数. 基本原理如下: 用欧几里德算法(辗转相除法)求两个数的最大公约数的步骤如下: 先用小的一个数除大的一个数,得第一个余数; 再用第一个余数除小的一个数,得第二个余数; 又用第二个余数除第一个余数,得第三个余数; 这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。 例如求1515和600的最大公约数, 第一次:用600除1515,商2余315; 第二次:用315除600,商1余285; 第三次:用285除315,商1余30; 第四次:用30除285,商9余15; 第五次:用15除30,商2余0。 1515和600的最大公约数是15。 两个正整数的最小公倍数=两个数的乘积÷两个数的最大公约数 由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。这就是说,求两个数的最小公倍数,可以先求出两个数的最大公约数,再用这两个数的最大公约数去除这两个数的积,所得的商就是两个数的最小公倍数。 例 求105和42的最小公倍数。 因为105和42的最大公约数是21, 105和42的积是4410,4410÷21=210, 所以,105和42的最小公倍数是210。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叔玛夕媛女
2020-04-05 · TA获得超过3835个赞
知道大有可为答主
回答量:3164
采纳率:30%
帮助的人:178万
展开全部
最大公约数:枚举法,辗转相除法
最小公倍数:两数乘积除以最大公约数即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式