import java.util.Scanner;
public class Muitilpie {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int x=in.nextInt();
int y=in.nextInt();
System.out.println("辗转相除法:最大公约数"+Muitilpie.Method(x, y)+",最小公倍数"+x*y/Muitilpie.Method(x, y));
System.out.println("相减法:最大公约数"+Muitilpie.Method1(x, y)+",最小公倍数"+x*y/Muitilpie.Method1(x, y));
System.out.println("穷举法:最大公约数"+Muitilpie.Method2(x, y)+",最小公倍数"+Muitilpie.Method3(x, y));
}
//辗转相除法,求最大公约数
public static int Method(int x,int y){
int a,b,c;
a=x;
b=y;
while(b!=0){
c=a%b;
a=b;
b=c;
}
return a;
}
//相减法,求最大公约数
public static int Method1(int x,int y){
while(x!=y){
if(x>y){
x=x-y;
}else{
y=y-x;
}
}
return x;
}
//穷举法,求最大公约数
public static int Method2(int x,int y){
for(int z=x;z>=0;z--){
if(x%z==0&&y%z==0){
return z;
}
}
return 1;
}
//穷举法,求最小公倍数
public static int Method3(int x,int y){
for(int z=x;;z++){
if(z%x==0&&z%y==0){
return z;
}
}
}
}
Java求最大公约数和最小公倍数
最新推荐文章于 2025-03-26 11:27:23 发布