public class TestDemo3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = a % b;
while(a % b != 0) {
a = b;
b = c;
c = a % b;
}
System.out.println("最大公约数是"+b);
}
这里用到的是辗转相除法
例如24和18这两个正整数求最大公约数:
首先用24除以18,余数为6,再用18除以6,余数就为零了,此时a除以b的余数为零,进入不了while循坏,就直接打印最大公约数6了。