输入两个正整数m和n求其最大公约数和最小公倍数c语言(输入两个正整数m和n求其最大公约数和最小公倍数)

大家好,飞飞今天来为大家解答以下的问题,关于输入两个正整数m和n求其最大公约数和最小公倍数c语言,输入两个正整数m和n求其最大公约数和最小公倍数这个很多人还不知道,那么下面让我带着大家一起来看看吧!1、main() { int p,r,n,m,temp; printf(“Please enter 2 numbers n,m:”); scanf(“%d,%d”,//输入两个正整数. i

大家好,飞飞今天来为大家解答以下的问题,关于输入两个正整数m和n求其最大公约数最小公倍数c语言,输入两个正整数m和n求其最大公约数和最小公倍数这个很多人还不知道,那么下面让我带着大家一起来看看吧!

1、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);//打印最大公约数. printf("Its MINGongBeiShu:%d",p/n);打印最小公倍数.基本原理如下:用欧几里德算法(辗转相除法)求两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。

2、那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。

3、例如求1515和600的最大公约数,第一次:用600除1515,商2余315;第二次:用315除600,商1余285;第三次:用285除315,商1余30;第四次:用30除285,商9余15;第五次:用15除30,商2余0。

4、1515和600的最大公约数是15。

5、两个正整数的最小公倍数=两个数的乘积÷两个数的最大公约数由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。

6、这就是说,求两个数的最小公倍数,可以先求出两个数的最大公约数,再用这两个数的最大公约数去除这两个数的积,所得的商就是两个数的最小公倍数。

7、例 求105和42的最小公倍数。

8、因为105和42的最大公约数是21,105和42的积是4410,4410÷21=210,所以,105和42的最小公倍数是210。

本文分享完毕,希望对大家有所帮助哦。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1081266.html

(0)
派派
上一篇 2024-06-25
下一篇 2024-06-25

发表回复

登录后才能评论