java最大公约数,最小公倍数

一 .最大公约数:
如果有两个数A、B ,求最大公约数?
step1: 判断A,B 是否想等,如果想等,最大公约数就是A或 B;
step2: 用A,B中较大的数除以较小的数,如果余数为0 ,那么最大公约数就是较小的那个数。如果余数不为0,到第三步。
step3: 用A,B 中较小的那个数除以第二步所得的余数,如果为0,那么第二部所得的余数就是最大公约数,如不是到第四步。
step4:经过step2 和 step3 得到两个余数,用step2 中的余数 除以 step3中的余数,如果余数为0 ,最大公约数就是step3余数,如果余数不为0,那么每次用上一次所得的余数除以本次所得的余数,如果余数为0,那么本次计算中的除数就是最大公约数。

public  int getMaxConventionNumber(int a, int b){
	if(a == b){
          System.out.println(a);
          return a;
      }
      int temp =0;
      if(a < b){
          temp = a;
          a = b;
          b = temp;
      }
      //求最大公约数
      while(b != 0 ){
          temp = a % b;
          a = b;
          b = temp;
      }
      return b;
}

二、最小公倍数

  1. 求出最大公约数后,最小公倍数就非常简单了,最小公倍数 = (数字1 * 数字 2)/ 最大公约数
public int  getMinCommonMultiple(int a, int b){
	  if(a == b){return a;}
      int temp  =getMaxConventionNumber(a,b);
      return (a*b)/temp;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值