两个数求最大公约数公式是什么?
算最大公约数有个技巧,就是10以内算法,我只知道一个不算最直观的算法,你看看可不可以:
以你给的两个数为例,首先两个数尾数都是5,说明都可以被5整除,那就两个数同时除以5,
如果尾数都为偶数则被2整除,尾数为0,则是被10整除,依次类推,两个0就是100,先找到最容易看到的数据.
1125÷5=225,855÷5=171,
其次,225和171不是那么容易看出来,则看看是不是被9或3整除,这里有个窍门,就是一个数是不是能被9和3整除,这个数各个位数上的数字相加,相加后的数字如果能被9和3整除,则这个数可以被9和3整除。2+2+5=9,1+7+1=9明细看出,都可以被9整除,
225÷9=25,171÷9=19,
最后,19位质数,没法约分,则得出结论1125和855最大公约数为5×9=45
最大公约数怎么求?
求最大公约数有两种方法。
一是直接答。当这几个数是互质数时,它们的最大公约数是一。例如二和三是互质数,它们的最大公约数是一 当几个数是倍数关系时,小数就是它们的最大公约数,例如二和四,二是它们的最公约数。
二是不具备以上情况,用短除法求 。
最大公约数怎么求算法
求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。
辗转相除法
使用到的原理很聪明也很简单,假设用f(x,y)表示x,y的最大公约数,取k=x/y,b=x%y,则x=ky+b,如果一个数能够同时整除x和y,则必能同时整除b和y;而能够同时整除b和y的数也必能同时整除x和y,即x和y的公约数与b和y的公约数是相同的,其最大公约数也是相同的,则有f(x,y)=f(y,x%y)(y>0),如此便可把原问题转化为求两个更小数的最大公约数,直到其中一个数为0,剩下的另外一个数就是两者最大的公约数。
例如,12和30的公约数有:1、2、3、6,其中6就是12和30的最大公约数。
初学者:C语言求两个整正数的最大公约数和最小公倍数,怎么错了???
- #includestdio.hint main(){ int a,b,c,d,e; scanf("%d%d",&a,&b); do { c=a%b; if(c!=0) a=b; b=c; printf("%d%dn",a,b);break;} while(c=0)甫触颠吠郯杜奠森订缉; d=b; e=a*bd; printf("%d%dn",d,e); return 0;}
- 代码可以加一些注释吗? 我怎么看都不理解你求的过程
375与225用短除法求最大公约数怎么求?详细步骤?谢谢
- 375与225的最大公约数是5*5*3=75. 最小公倍娄得5*5*虎担港杆蕃访歌诗攻涧3*5*3=75*15=1125
怎么求m,n的最大公约数和最小公倍数
- #include stdio.h void main(){int m,n,a,b,i;scanf_s("%d%法胆瘁感诓啡搭拾但浆d",&m,&n);a=m;b=n;while(b) {i=a%b;a=b;b=i;}printf("n最大公约数%dn最小公倍数%dn",a,m*na);}