输入两个正整数m和n,求其最大公约数和最小公倍数。
分析:
辗转相除法:
1.用大数m/小数n得第一个余数
2.余数为0则n为最大公约数
3.余数不为0则把n的值给m,余数的值给n
4.再次相除直到余数为0,此时除数是最大公约数
5.最小公倍数=m*n/最大公约数
import java.util.Scanner;
public class Prog6 {
public static void main(String[] args) {
int m,n,s;
System.out.println("请输入两个正整数:");
Scanner sc = new Scanner(System.in);
m = sc.nextInt();
n = sc.nextInt();
if(m < n){
int temp = m;
m = n;
n = temp;
}
s = max(m,n);
System.out.println("最大公约数是:"+s);
System.out.println("最小公倍数是:"+m*n/s);
}
public static int max(int a,int b){
int temp;
while(a%b != 0){
temp = a%b;
a = b;
b = temp;
}
return b;
}
}