首页 > 学院 > 开发设计 > 正文

Java程序设计之最大公约数和最小公倍数

2019-11-15 01:00:48
字体:
来源:转载
供稿:网友
java程序设计之最大公约数和最小公倍数

  题目:输入两个正整数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);    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表