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

版权声明:保留个人权利,可转载,请注明出处(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);
	}

}
程序运行结果如下:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值