题目
输入两个正整数m和n,求其最大公约数和最小公倍数。
输入样例:
2 3
输出样例:
1
6
参考解答:
法一:普通 无函数
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int temp;
int b = scanner.nextInt();
if(a>b) {
temp = a;
a = b;
b = temp;
}
int s = a*b;
while(a != 0) {
temp = b % a;
b = a;
a = temp;
}
System.out.printf("%d\n%d", b,s/b);
}
}
法二:函数递归解决
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int n = scanner.nextInt();
if(m>n) {
int temp = m;
m = n;
n = temp;
}
int s = fac(m,n);
System.out.println(s);
System.out.println(m*n/s);
}
public static int fac(int a,int b) {
if(a==0)return b;
else return fac(b%a,a);
}
}