/**
* 描述:输入两个正整数m和n,求其最大公约数和最小公倍数.(最大公约数:最大公约数,
* 也称最大公因数、最大公因子,指两个或多个整数共有约数中最大的一个。)
* (最小公倍数:几个数共有的倍数叫做这几个数的公倍数,其中除0以外最小的一个公倍数,
* 叫做这几个数的最小公倍数。)
* 分析:可以利用辗转相除法求两个数的最大公约数与最小公倍数。(辗转相除法:两个整数的
* 最大公约数等于其中较小的数和两数的相除余数的最大公约数。例如,252和105的最大公
* 约数是21(252 = 21 × 12;105 = 21 × 5);因为252 / 105 = 2余42,
* 所以105和42的最大公约数也是21。)
* 作者:徐守威
*/
package com.xushouwei;
import java.util.*;
public class T6 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个正整数:");
int num1=sc.nextInt();
System.out.println("请输入第二个正整数:");
int num2=sc.nextInt();
System.out.println("最大公约数为:"+divisor(num1,num2)+",最小公倍数为:"+multiple(num1,num2));
}
//定义一个求最大公约数的额方法
public static int divisor(int num1, int num2) {
int temp;
while (num1 != 0)
{
temp = num1;
num1 = num2 % num1;
num2 = temp;
}
return num2;
}
//定义一个求最小公倍数的方法
public static int multiple(int num1, int num2)
{
return (num1*num2)/divisor(num1,num2);
}
}