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

一些简单的java编程题(9) ————求最大公约数和最小公倍数

2018-02-06 11:24 369 查看
版权声明:保留个人权利,可转载,请注明出处(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=in
4000
put2.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);
}

}

程序运行结果如下:



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