辗转相除法:
用大数对小数求余,若余数为0,则除数为最大公约数。若余数不为0,将此余数作为除数,小数作为被除数,重新求余,直到余数为0为止。此时的最大公约数为余数。
例如:27和6. 27%6=3. 6%3=0. 所以最大公约数为3.
1 | public int gcd(int a, int b){ |
最大公约数和最小公倍数的关系:
1 | 两个数的乘积等于这两个数的最大公约数与最小公倍数的乘积。假设有两个数是a、b,它 |
于是代码为:
1 | class Solution { |
辗转相除法:
用大数对小数求余,若余数为0,则除数为最大公约数。若余数不为0,将此余数作为除数,小数作为被除数,重新求余,直到余数为0为止。此时的最大公约数为余数。
例如:27和6. 27%6=3. 6%3=0. 所以最大公约数为3.
1 | public int gcd(int a, int b){ |
最大公约数和最小公倍数的关系:
1 | 两个数的乘积等于这两个数的最大公约数与最小公倍数的乘积。假设有两个数是a、b,它 |
于是代码为:
1 | class Solution { |