码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-02-11 11:50:24      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:利用   除法   最大   code   size   system   pac   next   个数   

 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+"\n"+m+","+n+"的最小公倍数为:"+m*n/x);
43 
44     }
45 
46 }

 

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

标签:利用   除法   最大   code   size   system   pac   next   个数   

原文地址:https://www.cnblogs.com/scwyqin/p/12294200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!