java中求最大公约数有很多种方法,下面列举两种:
第一种——公式法:
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字1");
int a = scanner.nextInt();
System.out.println("请输入数字2");
int b = scanner.nextInt();
int e = a;
for( int i = 1;i <= e;i ++){
int c = a > b ? a : b;//两个数字的大值
int d = a < b ? a : b;//两个数字的小值
a = c % d;
b = d;
if(a == 0) {
System.out.println(d);
return;
}
}
这种方法运用了数学公式中的辗转相除法,比起程序思想更像是数学思想的样子
另一种是程序的写法:
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字1:");
int a = scanner.nextInt();
System.out.println("请输入数字2:");
int b = scanner.nextInt();
//求出两个数字之间的小值
int min = a < b ? a : b;
for (int i = min;i >= 1;i --) {
if (a % i == 0 && b % i == 0) {
System.out.println("最大公约数是:" + i);
break;
}
}
这种就是程序思想的求最大公约数啦