最大公约数和最小公倍数
输入两个正整数m和n,求其最大公约数和最小公倍数
输入
34 8
输出
输入两个正整数m和n,求其最大公约数和最小公倍数
输入
34 8
输出
2 136
package javatest011;
import java.util.Scanner;
/*
* 最大公约数和最小公倍数
输入两个正整数m和n,求其最大公约数和最小公倍数
输入
34 8
输出
2 136
*/
public class GcdLcm {
public int divider01(int a,int b)//辗转相除法
{
int c;
while(b!=0)
{
c=a%b;
a=b;
b=c;
}
return a;
}
public int divider02(int a,int b)//相减法
{
while(a!=b)
{
if(a>b)
a=a-b;
if(b>a)
b=b-a;
}
return a;
}
public int divider03(int a,int b)//穷举法
{
int temp=1;
for(int i=1;i<=a&&i<=b;i++)
{
if(a%i==0&&b%i==0)
{
temp=i;
}
}
return temp;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入 两个正整数:");
Scanner in=new Scanner(System.in);
int number00;
int number01;
number00=in.nextInt();
number01=in.nextInt();
GcdLcm gl=new GcdLcm();
int div1=gl.divider01(number00, number01);
System.out.printf("%d\t%d\n",div1,number00*number01/div1);
int div2=gl.divider02(number00, number01);
System.out.printf("%d\t%d\n",div2,number00*number01/div2);
int div3=gl.divider03(number00, number01);
System.out.printf("%d\t%d\n",div3,number00*number01/div3);
in.close();
}
}