3.17从键盘输入两个整数,计算这两个数的最小公倍数和最大公因数并输出

1.

最小公倍数(Least Common Multiple,缩写L.C.M.),如果有一个自然数a能被自然数b整除,
则称a为b的倍数,b为a的约数,对于两个自然数来说,指该两数共有倍数中最小的一个。计算最小公倍数时,通常会借助最大公约数来辅助计算。
就是说
  能够整除一个整数的整数称为其的约数(如5是10约数);1. 5.10
  能够被一个整数整除的整数称为其的倍数(如10是5的倍数);5 .10

2.

分解质因数,两个数的公因数和各自的质因数相乘。
20的分解质因数:20=2×2×5。
15的分解质因数:15=3×5。
因为20的分解质因数和15的分解质因数含有一个公共的5,所以这个5在最后求最小公倍数的时候只出现一次。
即15和20的最小公倍数等于:2×2×3×5=60。
package booksTest;

import java.util.Scanner;

public class p54_3_18 {
    public static void main(String[] args) {
        /*
        题目要求
         从键盘输入两个整数,计算这两个数的最小公倍数和最大公因数并输出

         最小公倍数(Least Common Multiple,缩写L.C.M.),如果有一个自然数a能被自然数b整除,
         则称a为b的倍数,b为a的约数,对于两个自然数来说,指该两数共有倍数中最小的一个。计算最小公倍数时,通常会借助最大公约数来辅助计算。
         就是说
           能够整除一个整数的整数称为其的约数(如5是10约数);1. 5.10
           能够被一个整数整除的整数称为其的倍数(如10是5的倍数);5 .10
         */
        //1.获取从键盘键入的两个整数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number = sc.nextInt();
        System.out.println("请再次输入一个整数");
        int number1 = sc.nextInt();
        //求number和number1的最大公约数
        int gct = 1;//1本身是一个公约数 还是最小的
        int k = 2;//假设k=2 循环k值 直到<=输出的两个数为止
        int sum = 1;
        while (k <= number && k <= number1 ){
           if(number % k == 0 && number1 % k == 0)
               gct = k;
           k++;
        }
        System.out.println(gct);
                  //2.最小公倍数
                 /*
                   分解质因数,两个数的公因数和各自的质因数相乘。
                   20的分解质因数:20=2×2×5。
                   15的分解质因数:15=3×5。
                   因为20的分解质因数和15的分解质因数含有一个公共的5,所以这个5在最后求最小公倍数的时候只出现一次。
                   即15和20的最小公倍数等于:2×2×3×5=60。
                  */
        System.out.println((number/gct)*(number1/gct)*gct);
    }
}
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值