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 最大公约数&最小公倍数的主要内容,如果未能解决你的问题,请参考以下文章