写在前面
最大公约数的求解还是比较常用的板子之一,根据辗转相除法的思想递归操作,可以在O(logN)(其中N为较小的数)的时间完成求两个数最大公约数,思想很简单常见,就不再过多赘述。
代码模板
public int gcd(int a, int b){
return a % b == 0 ? b : gcd(b, a % b);
}
代码也很简单,先判断b
能否整除a
,若可以,最大公约数为b
,否则,用b
和a除以b的余数
继续求gcd
即可。
最大公约数的求解还是比较常用的板子之一,根据辗转相除法的思想递归操作,可以在O(logN)(其中N为较小的数)的时间完成求两个数最大公约数,思想很简单常见,就不再过多赘述。
public int gcd(int a, int b){
return a % b == 0 ? b : gcd(b, a % b);
}
代码也很简单,先判断b
能否整除a
,若可以,最大公约数为b
,否则,用b
和a除以b的余数
继续求gcd
即可。
本文标题:最大公约数 - gcd
本文链接:https://www.haomeiwen.com/subject/vkdlkltx.html
网友评论