您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页输入两个正整数m和n,求其最大公约数和最小公倍数

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

来源:爱go旅游网
输⼊两个正整数m和n,求其最⼤公约数和最⼩公倍数

题⽬:输⼊两个正整数m和n,求其最⼤公约数和最⼩公倍数。程序分析:利⽤辗除法。

在循环中,只要除数不等于0,⽤较⼤数除以较⼩的数,将⼩的⼀个数作为下⼀轮循环的⼤数,取得的余数作为下⼀轮循环的较⼩的数,如此循环直到较⼩的数的值为0,返回较⼤的数,此数即为最⼩公约数,最⼩公倍数为两数之积除以最⼩公倍数。

1 package com.li.FiftyAlgorthm; 2

3 import java.util.Scanner; 4 5 /**b

6 * 题⽬:输⼊两个正整数m和n,求其最⼤公约数和最⼩公倍数。 程序分析:利⽤辗除法。

7 * 在循环中,只要除数不等于0,⽤较⼤数除以较⼩的数,将⼩的⼀个数作为下⼀轮循环的⼤数,取得的余数作为下⼀轮循环的较⼩的数,如此循环直到较⼩的数的值为0,返回 8 * 较⼤的数,此数即为最⼩公约数,最⼩公倍数为两数之积除以最⼩公倍数。 9 *

10 * @author yejin11 * 12 */

13 public class CommonDiviser {

14 public static void main(String[] args) {15 int a, b;

16 Scanner s1 = new Scanner(System.in);17 Scanner s2 = new Scanner(System.in);18 a = s1.nextInt();19 b = s2.nextInt();

20 CommonDiviser cd = new CommonDiviser();21 int m = cd.division(a, b);22 int n = a * b / m;

23 System.out.println(\"最⼤公约数: \" + m);24 System.out.println(\"最⼩公倍数: \" + n);25 }26

27 public int division(int x, int y) {28 int t;

29 if (x < y) {30 t = x;31 x = y;32 y = t;33 }34

35 while (y != 0) {36 if (x == y)37 return 1;38 else {

39 int k = x % y;40 x = y;41 y = k;42 }43 }

44 return x;45 }46 }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务