最大公约数与最小公倍数( java 类与对象的运用 )
Problem Description
输入两个正整数,求它们的最大公约数与最小公倍数。
Input
输入两个正整数,两个整数之间用空格分开。
数据保证在 int 范围内。
Output
第一行输出最大公约数;
第二行输出最小公倍数。
答案保证在 int 范围内。
Sample Input
64 48
Sample Output
16
192
代码:
package ma;
import java.util.Scanner;
class Solve {
int a,b; // 成员变量
public Solve ( int a, int b ) { // 构造方法
this.a = a;
this.b = b;
}
int gcd( int a, int b ) { // 成员方法
int max = Math.max(a, b);
int min = Math.min(a,b);
if ( max%min==0 ) return min;
return gcd(max%min,min);
}
int lcm( int a, int b ) { // 成员方法
return a*b/gcd(a,b);
}
}
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
Solve p = new Solve(a,b);
System.out.println( p.gcd(a, b) );
System.out.println( p.lcm(a, b) );
in.close();
}
}