每天一道JavaSE基础题(六、最大公约数和最小公倍数:输入两个正整数m和n,求其最大公约数和最小公倍数。 )

该博客介绍了如何使用Java编程解决计算两个正整数的最大公约数(GCD)和最小公倍数(LCM)的问题。通过辗除法实现算法,程序代码简洁高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

           **每天一道JavaSE基础题(六、最大公约数和最小公倍数:输入两个正整数m和n,求其最大公约数和最小公倍数。   )**

【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

  • 程序分析: 利用辗除法
  •         最大公约数=其中较小的那个数和两数的相除余数
    
  •         最小公倍数 = (a * b)/最大公约数
    

程序代码:

package SE50T;

import java.util.Scanner;

/*
 * 【程序6】   题目:输入两个正整数m和n,求其最大公约数和最小公倍数。   
 * 程序分析:  利用辗除法
 *		        最大公约数=其中较小的那个数和两数的相除余数
 * 		        最小公倍数 = (a * b)/最大公约数
 */
public class T6 {
	public static void main(String[] args) {
		  System.out.print("请输入正整数 m 的值:");
	        Scanner sc = new Scanner(System.in);
	        int m = sc.nextInt();
	        System.out.print("请输入正整数 n 的值:");
	        int n = sc.nextInt();
	        int a = Gys(m,n);
	        int b = m*n/a;
	        System.out.println(m+"和"+n+"的最大公约数为:"+a+",最小公倍数为:"+b);

	    }
	    public static int Gys(int x,int y){
	        int t;
	        if(x<y){
	            t=x;
	            x=y;
	            y=t;
	        }
	        while (y!=0){
	            if(x==y){
	                return 1;
	            }else {
	                int k = x % y;
	                x=y;
	                y=k;
	            }
	        }
	        return x;
	   }
}

程序运行图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值