公约数和公倍数

描述小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。

 
输入
第一行输入一个整数n(0<n<=10000),表示有n组测试数据;
随后的n行输入两个整数i,j(0<i,j<=32767)。
输出
输出每组测试数据的最大公约数和最小公倍数
样例输入
3
6 6
12 11
33 22
样例输出
6 6
1 132
11 66

 1 import java.util.Scanner;
 2 
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner scanner=new Scanner(System.in);
 6         int T;
 7         int a;
 8         int b;
 9         int temp;
10         int i;
11         int aSave;
12         int bSave;
13         
14         T=scanner.nextInt();
15         for(i=0;i<T;i++){
16             a=scanner.nextInt();
17             b=scanner.nextInt();
18             aSave=a;
19             bSave=b;
20             
21             if(a<b){
22                 temp=a;
23                 a=b;
24                 b=temp;
25             }
26             
27             while(a%b!=0){
28                 temp=a%b;
29                 a=b;
30                 b=temp;
31             }
32             
33             System.out.println(b+" "+(aSave*bSave/b));
34         }
35     }    
36 }
 
原文地址:https://www.cnblogs.com/zqxLonely/p/4130520.html