算法筆記_042:求最小公倍數(Java)


目錄

1 問題描述

2 解決方案

 


1 問題描述

何為最小公倍數?能同時被數字m和數字n整除的最小整數。例如,2460的最小公倍數等於120。下面請編寫相關函數實現求取數字mn的最小公倍數。

 


2 解決方案

關於本文求解最小公倍數的思想,來自於《算法設計與分析基礎》第三版上一段講解,具體如下:

 

具體代碼如下:

package com.liuzhen.chapter6;

public class LeastCommonMultiple {
    //使用歐幾里得算法求解數m和數n最大公約數
    public int getGcd(int m,int n){
        while(n > 0){
            int temp = m % n;
            m = n;
            n = temp;
        }
        return m;
    }
    
    //求解數m和n和最小公倍數
    public int getLcm(int m,int n){
        int gcd = getGcd(m,n);
        int result = m*n / gcd;
        return result;
    }
    
    public static void main(String[] args){
        LeastCommonMultiple test = new LeastCommonMultiple();
        System.out.println("60和12的最大公約數:"+test.getGcd(60, 12));
        System.out.println("60和12的最小公倍數:"+test.getLcm(60, 12));
    }
    
}

運行結果:

60和12的最大公約數:12
60和12的最小公倍數:60

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM