java实现最大公约数
时间: 2023-11-29 20:04:52 浏览: 29
以下是两种Java实现最大公约数的方法:
1.更相减损数法
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int r = 1;
do{
a = (a > b ? a-b : a);
b = (a < b ? b-a : b);
/* 更相减损数 比较a,大小,大数减小数,把差赋给大数,
再次比较,相减,赋值,直到a,b相等,即为最大约数 */
}while(a != b);
System.out.print(a);
}
}
```
2.遍历法
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int r = 1;
if(a == 0 || b == 0){
System.out.print(a == 0 ? b : a);//a,b其中有0的情况
} else{
for ( int i = 2; i <= a && i <= b;i++){
if(a % i == 0 && b % i == 0){
r = i;
}
}
System.out.print(r);
}
}
}
```