输入两个正整数m和n,求其最大公约数和最小公倍数。
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
程序分析:利用辗除法。欧几里得算法
function gcd(a, b)
while b ≠ 0
t ← b
b ← a mod b
a ← t
return a
public class 第六题计算最小公倍数和最大公约数 {
public static void main(String[] args) {
System.out.println("请输入两个正整数:");
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int n = in.nextInt();
if(n <= 0 || m <= 0) {
System.out.println("请输入正整数");
}
System.out.println("最大公约数为:" + gcd(m,n));
System.out.println("最小公倍数为:" + lcm(m,n));
in.close();
}
//计算最大公约数
private static int gcd(int a, int b) {
int temp = 0;
while(b != 0) {
temp = b;
b = a % b;
a = temp;
}
return a;
}
//计算最小公倍数
private static int lcm(int a, int b) {
return a * b / gcd(a, b);
}
}