java基础——求两个数的最大公约数、最小公倍数

前言:求最大公约数有两种方法 更相减损法和辗转相处法 最小公倍数在求出最大公约数后 两个数相乘除以最大公约数就是最小公倍数

更相减损法是拿两个数中的较大值减去较小值,然后在减数、被减数、差之间选取两个较小值继续相减,直到减数和被减数相等,得出的数就是最小公约数。

例://更相减损术:
    //8 10
    //10 - 8=2
    //8 - 2= 6
    //6-2=4
    //4-2=2    
    //2==2于是最大公约数就是2.

辗转相除法  是拿两个数中的较大值除以较小值取余,余数不为零继续选取两个小值相除,如果余数等于零,那么此时的除数就是最小公约数

//辗转相除法:(作业)
    //8 10
    //10 / 8 = 1  2
    //8 / 2 =4  0
    //得到0的那一次,除数就是最大公约数。

import java.util.Scanner;
class Homework01{
	public static void main(String [] args){
		int a = new Scanner(System.in).nextInt();
		int b = new Scanner(System.in).nextInt();
		int d = a*b;

		for(int c = 0;;){//存放余数
			if(a>b){
				if(a%b==0){
					System.out.println("最大公约数为:"+b);
					System.out.println("最小公倍数:"+d/b);
					break;
				}
				c = a%b;
				a = c;
				
			}else if(a<b){
				if(b%a==0){
					System.out.println("最大公约数为:"+a);
					System.out.println("最小公倍数:"+d/a);
					break;
				}
				c = b%a;
				b = c;
				
			}
			
		}
		//System.out.println("最小公倍数为:"+e/a);
	}
}

 

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值