您的位置:首页 > 其它

输入两个数,求最大公约数和最小公倍数

2016-02-02 17:55 302 查看
首先要知道这两点:

1. A,B的最大公约数取值范围:大于零,小于AB之间最小数;

2. A,B的最小公倍数取值范围:大于AB之间最大数,小于或等于A*B。

.代码如下:

import java.util.*;
public class Work23{

public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("输入两个正整数:");
int m = scan.nextInt();  //输入两个正整数m、n
int n = scan.nextInt();
int min;
int max;
if(m>n){     //比较输入的两个数值的大小,赋值给min、max变量
min=n;
max=m;
}else{
min=m;
max=n;
}
//最大公约数
for(int i=min;i>0;i--){  //从两个数值之间最小数起,递减到0
if(m%i==0&&n%i==0){  //如果输入的两个数字被i整除则此时的i为两者的最大公约数
System.out.println("最大公约数"+i);
break;
}
}
//最小公倍数
for(int i=max;i<=m*n;i++){ //从两个数值之间最大数起,递增到两者的乘积
if(i%m==0&&i%n==0){   //如果i满足把输入的两个数字整除则此时的i为两者的最小公倍数
System.out.println("最小公倍数"+i);
break;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: