java枚举求最大公约数
时间: 2023-11-01 17:59:33 浏览: 81
在Java中,可以使用枚举类型来求最大公约数。下面是一个使用枚举类型求最大公约数的示例代码:
```java
public class Main {
// 枚举类型
enum GCDMethod {
EUCLID,
BRUTE_FORCE
}
// 使用欧几里德算法求最大公约数
public static int euclidGCD(int a, int b) {
if (b == 0) {
return a;
}
return euclidGCD(b, a % b);
}
// 使用暴力法求最大公约数
public static int bruteForceGCD(int a, int b) {
int gcd = 1;
for (int i = 1; i <= a && i <= b; i++) {
if (a % i == 0 && b % i == 0) {
gcd = i;
}
}
return gcd;
}
public static void main(String[] args) {
int a = 12;
int b = 18;
// 使用枚举类型选择算法
GCDMethod method = GCDMethod.EUCLID;
int gcd = 0;
switch (method) {
case EUCLID:
gcd = euclidGCD(a, b);
break;
case BRUTE_FORCE:
gcd = bruteForceGCD(a, b);
break;
default:
System.out.println("Invalid GCD method");
break;
}
System.out.println("最大公约数:" + gcd);
}
}
```
阅读全文