您的位置:首页 > 编程语言 > Java开发

初学者java:求两个整数的最大公约数和最小公倍数

2017-10-25 19:58 423 查看
方法1:

//题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

import java.util.Scanner;

public class Test {

public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.print("请输入两个整数:");
int x=in.nextInt();
int y=in.nextInt();
int min=0,max = 0;
if(x>y)//设置x为x,y之间的最小值
{
int t=x;
x=y;
y=t;
}
for(int i=1;i<=x;i++)
{
if(x%i==0&y%i==0)
max=i;
}
min=x*y/max;
System.out.println(x+"与"+y+"之间的最大公约数为:"+max+",最小公倍数为:"+min);
}

}

方法2:辗转相除法

import java.util.Scanner;

//题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

import java.util.Scanner;

public class Test {

public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.print("请输入两个整数:");
int x=in.nextInt();
int y=in.nextInt();
int a=x,b=y;
if(x>y)//设置x为x,y之间的最小值
{
int t=x;
x=y;
y=t;
}
int r;
while(x!=0)
{
r=y%x;
y=x;
x=r;
}
System.out.println(a+"与"+b+"之间的最大公约数为:"+y+",最小公倍数为:"+a*b/y);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐