package october.exer;
import java.util.Scanner;
import org.junit.Test;
//求最大公因数的三种算法
public class MathRegular {
@Test
// 辗转相法求最大公因数
public void method1() {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int temp;
do {
temp = b;
b = a % b;
a = temp;
} while (b != 0);
System.out.println("最大公因数:" + a);
}
@Test
// 相减法求最大公因数
public void method2() {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
do {
if (a > b) {
a = a - b;
} else if (a < b) {
b = b - a;
} else {
break;
}
} while (a != b);
System.out.println("最大公因数 :" + a);
}
@Test
//穷举法
public void method3(){
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int max = a>b?a:b;
int min = a<b?a:b;
int i;
for(i=min;i>=1;i--){
if(max%i==0&&min%i==0){
break;
}
}
System.out.println("最大公因数 :" + i);
}
}
求最大公因数的三种算法
猜你喜欢
转载自blog.csdn.net/qq_38697437/article/details/82934875
今日推荐
周排行