辗转相除法--求最大
Posted xyfs99
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了辗转相除法--求最大相关的知识,希望对你有一定的参考价值。
基本操作:设a<b,a÷b=q...r1
若r1=0,则最大公约数为r1
若r1!=0,则b÷r1=q...r2
r1÷r2=q...r3
直到rn为0为止
示例:280 380
280÷380=0...280
380÷280=1...100
280÷100=2...80
100÷80=1...20
80÷20=4...0
所以,最大公约数是20
代码一:循环
int gcd(int a,int b)//默认a<b { while(a%b!=0) { int t=a%b; a=b; b=t; } return b; }
代码二:递归
int gcd(int a,int b)//默认a<b { return b==0?a:gcd(b,a%b); }
以上是关于辗转相除法--求最大的主要内容,如果未能解决你的问题,请参考以下文章