最大公约数算法:如果r是a和b之间相除后的余数,则a和b之间的最大公约数与b和r之间的最大公约数相同,于是可以运用以下公式:gcd(a,b)=gcd(b,r),例如:gcd(36,20)=gcd(20,16)=gcd(16,4)=gcd(4,0),即当第二个数为0时,第一个数为最大公约数,于是36和20的最大公约数为4,运用该算法编写gcd方法
======================================================================
public class Gcd {
public static int gcd(int a, int b) {
int min = a;
int max = b;
if (a > b) {
min = b;
max = a;
}
if (min == 0)
return max;
else
return gcd(min, max - min);
}
public static void main(String[] args) {
System.out.println(Gcd.gcd(36, 20));
}
}
======================================================================
public class Gcd {
public static int gcd(int a, int b) {
int min = a;
int max = b;
if (a > b) {
min = b;
max = a;
}
if (min == 0)
return max;
else
return gcd(min, max - min);
}
public static void main(String[] args) {
System.out.println(Gcd.gcd(36, 20));
}
}