辗转相除法:
gcd(a,b) = b, 当 a%b==0,且 a >= b
gcd(a,b)= gcd(b, a%b) 当 a%b != 0,且 a >= b
代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
int a = scan.nextInt();
int b = scan.nextInt();
System.out.println(gcd(a, b));
}
}
//辗转相除法求最大公约数 greatest common divisor
private static int gcd(int a, int b) {
if(a < b){
int tmp = a;
a = b;
b = tmp;
}
while(a%b != 0){
int c = a%b;
a = b;
b = c;
}
return b;
}
}