题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
程序分析:利用辗除法。
public static void factorAndMultiple(){
int m,n,x;
System.out.println("输入两个正整数:");
Scanner sc =new Scanner(System.in);
m=sc.nextInt();
n=sc.nextInt();
x=factor(m,n);
System.out.print("最大公约数为:"+x+"\n");
System.out.print("最小公倍数为:"+(m*n)/x);
}
public static int factor(int m,int n) {
int y,z;
//交换顺序,使m>=n
if(m<n) {
y=m;
m=n;
n=y;
}
//余数碾除
z=m%n;
while(z>0) {
m=n;
n=z;
z=m%n;
}
return n;
}