zoukankan      html  css  js  c++  java
  • 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);
        }
    }
  • 相关阅读:
    5-1 Leetcode中和链表相关的问题
    4-7 带有尾指针的链表:使用链表实现队列
    4.6 使用链表实现栈
    4.5 链表元素的删除
    4.4 链表的遍历、查询和修改
    4.3 为链表设置虚拟头结点dummyhead
    4.2在链表中添加元素
    4.1链表
    mybatis 力量操作参数为List的非空校验
    linux 运行和停止jar的shell 脚本
  • 原文地址:https://www.cnblogs.com/xiangxi/p/4695483.html
Copyright © 2011-2022 走看看