文档章节

java 输入两个正整数 m 和 n,求其最大公约数和最小公倍数

子群
 子群
发布于 2016/12/07 17:03
字数 289
阅读 68
收藏 0
import java.util.Scanner;

/**
 * 在循环中,只要除数不等于 0,用较大数除以较小的数,将小的一个数作为下一轮循环的 大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为
 * 0,返回较大 的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
 */
public class Test6 {
    public static void main(String[] args) {
        int a, b, m;
        Scanner s = new Scanner(System.in);
        System.out.print("键入一个整数: ");
        a = s.nextInt();
        System.out.print("再键入一个整数: ");
        b = s.nextInt();
        Deff cd = new Deff();
        m = cd.deff2(a, b);
        int n = a * b / m;
        System.out.println("最大公约数: " + m);
        System.out.println("最小公倍数: " + n);
    }
}

class Deff {
    
    /**
     * 循环方式
     * @param x
     * @param y
     * @return
     */
    public int deff(int x, int y) {
        int t;
        if (x < y) {
            t = x;
            x = y;
            y = t;
        }
        while (y != 0) {
            if (x == y)
                return x;
            else {
                int k = x % y;
                x = y;
                y = k;
            }
        }
        return x;
    }
    
    /**
     * 递归方式
     * @param x
     * @param y
     * @return
     */
    public int deff2(int x, int y) {
        int t;
        if (x < y) {
            t = x;
            x = y;
            y = t;
        }
        if (y != 0) {
            if (x == y)
                return x;
            else {
                int k = x % y;
                x = y;
                y = k;
                return deff2(x, y);
            }
        }
        return x;
    }
}

 

© 著作权归作者所有

共有 人打赏支持
子群
粉丝 7
博文 31
码字总数 36163
作品 0
深圳
程序员
私信 提问
最大公倍数

华为机试题,以前做过,复习了一点思路。 //题目描述////正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。////输入描述 ://输入两...

ranjiewen
2016/09/20
0
0
“365算法每日学计划”:03打卡-贪心算法

自从开始做公众号开始,就一直在思考,怎么把算法的训练做好,因为思海同学在算法这方面的掌握确实还不够。因此,我现在想做一个“365算法每日学计划”。 “计划”的主要目的: 1、想通过这样...

wx好好学java
06/16
0
0
【算法】相关题目汇总(持续更新)

余初学算法,题目较易,望诸大神指正而勿喷。 一、将一个正整数分解质因数。例如:输入90,打印出打印出90=233*5。 static void Main(string[] args) { } 二、输入两个正整数m和n,求其最大公...

GeekDragon
10/28
0
0
bryce1010专题训练——线段树习题汇总

版权声明:时间是有限的,知识是无限的,那就需要在有限的时间里最大化的获取知识。 https://blog.csdn.net/Firetocheat_/article/details/78424696 延迟标记: 除了在修改指令中直接划分成的...

bryce1010
2017/11/02
0
0
Apocalypse/c2go

用go实现《c语言经典算法》中的100个例子 腻了,就此终结。 目 录 1.有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的...

Apocalypse
2015/03/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 懒床是对冬天最起码的尊重

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念 :分享daniwellP/桃音モモ的单曲《Nyan Cat》 《Nyan Cat》- daniwellP/桃音モモ 手机党少年们想听歌,请使劲儿戳(这里) @巴拉迪...

小小编辑
20分钟前
2
0
码云项目100,水一发

简单回顾一下: 早期构想最多的,是希望能将PHP一些类和编码分区做得更细,所以很多尝试。但不得不说,PHP的功能过于单一,是的,也许写C/C++扩展,可以解决问题,那我为什么不用C#或者Golan...

曾建凯
今天
3
0
Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
今天
4
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
今天
3
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部