java例题_06 最大公约数&最小公倍数

Posted scwyqin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java例题_06 最大公约数&最小公倍数相关的知识,希望对你有一定的参考价值。

 1 /*6 【程序 6 求最大公约数及最小公倍数】 
 2 题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 
 3 程序分析:利用辗除法。 
 4 */
 5 
 6 /*分析
 7  * =============================
 8  * 辗转相除法求【最大公约数】:
 9  * 如我们计算10和25的最大公约数。用辗转相除法是这么计算的:
10  * 25÷10=2······5
11  * 10÷5=2······0
12  * 那么25和10的最大公约数就是5。
13  * ==============================
14  * 转换过来就是,求m和n的最大公约数,m%n==a,n%a==0,则m和n的最大公约数是a
15  *
16  * 【最小公倍数】=m*n/a(即:两个数相乘再除以其最大公约数)
17  * 
18  * 综上,此题需要先利用辗转相除法求出最大公约数,再利用性质求出最小公倍数
19  * 
20  * */
21 
22 package homework;
23 
24 import java.util.Scanner;
25 
26 public class _06 {
27 
28     public static void main(String[] args) {
29         System.out.println("请输入两个正整数m,n:");
30         //从键盘获得m,n两个整数
31         Scanner sc=new Scanner(System.in);
32         int m=sc.nextInt();
33         int n=sc.nextInt();
34 //        System.out.println(m+" "+n);
35         int x=m,y=n;
36         //利用for循环来控制计算的步骤
37         for (int a=x; a>0; ) {
38             a=x%y;
39             x=y;
40             y=a;
41         }    
42         System.out.println(m+","+n+"的最大公约数为:"+x+"
"+m+","+n+"的最小公倍数为:"+m*n/x);
43 
44     }
45 
46 }

 

以上是关于java例题_06 最大公约数&最小公倍数的主要内容,如果未能解决你的问题,请参考以下文章

java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)

基本算法——二分答案经典模型例题

java例题_15 有小到大排序

「总结」多项式生成函数例题

滑动窗口(最大最小值)的经典例题

滑动窗口(最大最小值)的经典例题