Java程式設計之最大公約數和最小公倍數

來源:互聯網
上載者:User

標籤:

  題目:輸入兩個正整數number1和number2,求其最大公約數和最小公倍數。

  演算法:較大數和較小數取餘,較小數除餘數,一直到餘數為0時,為最大公約數(輾轉相除法);最大公倍數numbe1*number2/(最大公約數),下面直接上代碼:

import java.util.Scanner;public class Max_Min {    static int n1;    public static void main(String[] args) {        Max_Min m = new Max_Min();        /*         * 此處輸入兩個數值,求出最小公倍數和最大公約數         */        Scanner s = new Scanner(System.in);        System.out.print("請輸入一個正整數:");        int number1 = Integer.parseInt(s.nextLine());        System.out.print("請再輸入一個正整數:");        int number2 = Integer.parseInt(s.nextLine());                        if(number1>number2){  //這裡的if判斷是為了,篩選出較大的數,功能函數裡面取餘數使用            m.function(number1,number2);        }            else{            m.function(number2, number1);        }                    m.function2(number1, number2,n1); //此方法求最小公倍數    }        public void function(int number1, int number2){        if(number1%number2 == 0){            System.out.println("最大公約數為:"+number2);            getInt(number2);  //傳遞最大公約數的值        }else{            function(number2, number1%number2);        }    }        public void getInt(int number){  //得到最大公約數        this.n1 = number;    }        public void function2(int number1, int number2, int number) { //輸出最大公倍數        System.out.println("最大公倍數是:"+number1*number2/number);    }}

 

Java程式設計之最大公約數和最小公倍數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.