文档章节

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

子群
 子群
发布于 2016/12/07 17:03
字数 289
阅读 62
收藏 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
博文 30
码字总数 35720
作品 0
深圳
程序员
最大公倍数

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

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

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

wx好好学java
06/16
0
0
Apocalypse/c2go

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

Apocalypse
2015/03/29
0
0
RSA的安全性---学习笔记(不包含数学关系的推导)

最近了解了RSA算法的安全性的基本原理,简单记录一下方便以后回顾(不包含数学公式的推导以及产生大质数和求模反元素的具体算法)。 RSA加密解密的数学公式: c=m^e%n m=c^d%n 需要的数学条件:...

duanbowen
2017/05/17
0
0
c语言求最小公倍数,最大公约数

<1> 用辗转相除法求最大公约数 算法描述: m对n求余为a, 若a不等于0 则 m <- n, n <- a, 继续求余 否则 n 为最大公约数 <2> 最小公倍数 = 两个数的积 / 最大公约数 本文转自NewPanderKing51CT...

技术小甜
2017/11/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

flume -- fileChannel简要分析其过程

flume之event写入FileChannel doPut(event)-->获取共享锁后[log.lockShared();]-->FlumeEventPointer ptr = log.put(transactionID, event); 此处的log.put即将transactionID及event进行后续......

-九天-
39分钟前
2
0
Linux与FreeBSD有什么区别?

基础 许多人所称的“Linux”实际上不是 Linux。Linux 从技术上说只是 Linux 内核,典型的 Linux 发行版则包括了 Linux 内核和许多软件。这是为什么 Linux 有时被称为 GNU/Linux。事实上,许多...

linux-tao
47分钟前
3
0
jQuery学习笔记180924

jQuery - AJAX 简介 什么是 AJAX? AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。 简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示...

颖伙虫
今天
1
0
springboot整合vue小试牛刀

序 本文主要研究一下如何在springboot工程整合vue maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-we......

go4it
今天
2
0
使用python的profiler工具

主要用来检测python coding的执行时间 fly profiler

steel7c4
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部