版权声明:保留个人权利,可转载,请注明出处(http://blog.csdn.net/wlsgdsb)。 如程序有不当之处,敬请指正。
/* (程序头部注释开始)
版权声明:保留个人权利,可转载,请注明出处(http://blog.csdn.net/wlsgdsb)。 如程序有不当之处,敬请指正。
* 文件名称: 《一些简单的java编程题(9) ————求最大公约数和最小公倍数》
* 作 者: 那就去巴黎
* 完成日期: 2018 年 02 月 06 日
* 版 本 号: JDK 9.0.1
问题描述:
输入两个正整数m和n,求其最大公约数和最小公倍数。
题目分析:
利用辗除法。
* (程序头部的注释结束)
*/
package questions;
import java.util.Scanner;
public class Q9
{
public static void main(String args[])
{
System.out.println("请输入一个数m:");
Scanner input1 =new Scanner(System.in);
int m=input1.nextInt();
System.out.println("请输入一个数n:");
Scanner input2=new Scanner(System.in);
int n=input2.nextInt();
max_min(m,n);
input1.close(); //关闭配置内存
input2.close(); //关闭配置内存
}
private static void max_min(int m,int n)
{
int temp=1;
int yshu=1;
int bshu=m*n;
if(n<m)
{
temp=n;
n=m;
m=temp;
// System.out.println("n="+n);
// System.out.println("m="+m);
}
while(m!=0) //碾除法,不断循环,直到不满足条件然后跳出循环
{
temp=n%m;
n = m;
// System.out.println(n);
m=temp;
// System.out.println(m);
}
yshu=n; //最大公约数
bshu/=n; //两数相乘然后除以最大公约数:最小公倍数
System.out.println("最大公约数为"+yshu);
System.out.println("最小公倍数为"+bshu);
}
}
程序运行结果如下: