思路:
两个正整数a,b
最大公约数:
c=a%b;
如果c!=0,a=b,b=c;
如果c==0,最大公约数就等于b
最小公倍数=a*b/最大公约数
源码:
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
//输入两个正整数m和n,求其最大公约数和最小公倍数。
//最小公倍数=两整数的乘积/最大公约数
System.out.println("请输入两个正整数");
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int b=in.nextInt();
//int c=1;
System.out.println("最大公约数:"+gcb(a,b));
System.out.println("最小公倍数:"+a*b/gcb(a,b));
}
public static int gcb(int a,int b){
int c=1;
while(true){
c=max(a,b)%b;
if(c!=0){
a=b;
b=c;
}else{
break;
}
}
return b;
}
public static int max(int a,int b){
if(a>=b)
return a;
else
return b;
}
}