import java.util.Scanner;
public class yearmonth{
public static void main(String[] args){
//求最大公约数
int num1,num2;
Scanner input = new Scanner(System.in);
System.out.println("please input two numbers");
num1 = input.nextInt();
num2 = input.nextInt();
//方法1
gcd1(num1,num2);
gcd2(num1,num2);
gcd3(num1,num2);
}
static void gcd1(int a,int b){
if(a>b){
int temp = a;
a = b;
b = temp;
}
if(b%a==0){
System.out.println("方法一算出的最大公约数为"+a);
}
else{
for(int i = a-1;i>=1;i--){
if(a % i == 0 && b % i == 0){
System.out.println("方法一算出的最大公约数为"+i);
break;
}
}
}
}
static void gcd2(int a,int b) {
int gcd = 1;
int i=2;
while(i <= a&&i <= b){
if(a % i == 0 && b % i == 0){
gcd = i;
}
i++;
}
System.out.println("方法二算出的最大公约数为"+gcd);
}
static void gcd3(int a,int b) {
//欧几里得算法gcd(a,b)=gcd(b,a%b)
int t;
t = a % b;
while(t != 0){
a = b;
b = t;
t = a % b;
}
System.out.println("方法三算出的最大公约数为"+b);
}
}
三种方法求最大公约数
最新推荐文章于 2022-07-25 18:59:38 发布