时间:2021-05-20
辗转相除法最大的用途就是用来求两个数的最大公约数。
用(a,b)来表示a和b的最大公约数。
有定理: 已知a,b,c为正整数,若a除以b余c,则(a,b)=(b,c)。 (证明过程请参考其它资料)
例:求 15750 与27216的最大公约数。
解:
∵27216=15750×1+11466 ∴(15750,27216)=(15750,11466)
∵15750=11466×1+4284 ∴(15750,11466)=(11466,4284)
∵11466=4284×2+2898 ∴(11466,4284)=(4284,2898)
∵4284=2898×1+1386 ∴(4284,2898)=(2898,1386)
∵2898=1386×2+126 ∴(2898,1386)=(1386,126)
∵1386=126×11 ∴(1386,126)=126
所以(15750,27216)=126
辗转相除法比较适合用来求两个比较大的数的最大公约数 。
代码如下:
#include<stdio.h>int main(){ int a,b,temp,x; scanf("%d%d",&a,&b); if(a>b) { temp=b; b=a; a=temp; } while(b%a!=0) { x=b%a; b=a; a=x; } printf("%d",a);}以上所述是小编给大家介绍的C语言辗转相除法求2个数的最小公约数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C++实现求最大公约数和最小公倍数最大公约数辗转相除法:intmaxDivisor(inta,intb){intc=b;while(a%b!=0){c=a%b;
python怎么求最大公约数和最小公倍数一、求最大公约数用辗转相除法求最大公约数的算法如下:两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。程序分析:利用辗除法。最大公约数:publicclassCommonDivisor{publicstat
求两个正整数的最大公约数思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法。通式分别为f(x,y)=f(y,x%y),f(x,y)=f(y
本文实例讲述了Python基于递归和非递归算法求两个数最大公约数、最小公倍数。分享给大家供大家参考,具体如下:最大公约数和最小公倍数的概念大家都很熟悉了,在这里