溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

利用Java如何實(shí)現(xiàn)求出兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)

發(fā)布時(shí)間:2020-11-10 16:28:11 來(lái)源:億速云 閱讀:488 作者:Leah 欄目:編程語(yǔ)言

利用Java如何實(shí)現(xiàn)求出兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

題目:輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。

程序分析:利用輾除法。

最大公約數(shù):

public class CommonDivisor{
  public static void main(String args[])
  {
    commonDivisor(24,32);
  }
  static int commonDivisor(int M, int N)
  {
    if(N<0||M<0)
    {
      System.out.println("ERROR!");
      return -1;
    }
    if(N==0)
    {
      System.out.println("the biggest common divisor is :"+M);
      return M;
    }
    return commonDivisor(N,M%N);
  }
}

最小公倍數(shù)和最大公約數(shù):

import java.util.Scanner;
public class CandC
{
  //下面的方法是求出最大公約數(shù)
  public static int gcd(int m, int n)
  {
    while (true)
    {
      if ((m = m % n) == 0)
        return n;
      if ((n = n % m) == 0)
        return m;
    }
  }
  public static void main(String args[]) throws Exception
  {
    //取得輸入值
    //Scanner chin = new Scanner(System.in);
    //int a = chin.nextInt(), b = chin.nextInt();
    int a=23; int b=32;
    int c = gcd(a, b);
    System.out.println("最小公倍數(shù):" + a * b / c + "\n最大公約數(shù):" + c);
  }
}

看完上述內(nèi)容,你們掌握利用Java如何實(shí)現(xiàn)求出兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI