C/C++训练1---最大公约数与最小公倍数
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
输入两个整数,求它们的最大公约数与最小公倍数。
Input
输入两个整数,两个整数之间用空格分开。
Output
第一行输出最大公约数;
第二行输出最小公倍数。
第二行输出最小公倍数。
Example Input
64 48
Example Output
16 192import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner (System.in); while( in.hasNext() ){ int a = in.nextInt(); int b = in.nextInt(); Calculate cal = new Calculate(a, b); System.out.println(cal.gcd()); System.out.println(cal.lcm()); } in.close(); } } class Calculate { int a, b; public Calculate( int a, int b ){ this.a = a; this.b = b; } public int gcd(){ int m = Math.max(Math.abs(a), Math.abs(b)); int n = Math.min(Math.abs(a), Math.abs(b)); int r; while( n!=0 ){ r = m%n; m = n; n = r; } return m; } public int lcm(){ return a*b/this.gcd(); } }