标签:... 示例 gcd strong 辗转相除法 code ret 最大公约数 最大
基本操作:设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); }
标签:... 示例 gcd strong 辗转相除法 code ret 最大公约数 最大
原文地址:https://www.cnblogs.com/xyfs99/p/10066177.html