import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
while (a != b) {
if (a > b) {
a = a - b;
} else {
b = b - a;
}
}
System.out.println(a);
}
}
这个是更相减损术,两个数字相减(大的减去x小的)一直到两数相等为止。import java.util.Scanner;
public class Main{
public static void main(String []args){
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
while(true){
int num3 = num2;
num2 = num1 % num2;
num1 = num3;
if(num2 == 0){
break;
}
}
System.out.printf("%d",num1);
}
}
这道题我是用辗转相除法做的,运行实例如下:
num3 = num2 -------- num2 = 6 -----------> num3 = 6
num2 = num1 % num2 ----------num1 =4, num2 = 6 --------> 4 % 6 = 4--------> num2 = 4
num1 = num3 ----------num3 = 6 ----------->num1 = 6;
num3 = num2 ----------num2 = 4 --------> num3 = 4
num2 = num1 % num2 --------num1 = 6,num2 = 4--------> 6 % 4 = 2 --------->num2 = 2;
num1 = num3 ---------num3 = 4 --------->num1 = 4;
num3 = num2 ----------num2 = 2 --------->num3 = 2
num2 = num1 % num2 -------->num1 = 4, num2 = 2 -------> 4 % 2 = 0---------->num2 = 0;
num1 = num3 --------->num3 = 2 --------->num1 = 2;

京公网安备 11010502036488号