手撸代码系列(八)

本文介绍一种求三个数最小公倍数的算法,通过不断寻找能被三数整除的最大值,最终找到最小公倍数。示例代码使用Java实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第八期:实现求三个数的最小公倍数

本题为2013年蓝桥杯真题之核桃的数量

题目分析:以2,4,5为例

第一步: 求出这三个数中的最大值。

第二步:利用最大值去除以这三个数,如果都能整除,说明该最大值即为三个数的最小公倍数。

第三步:如果存在不能整除的数,那么max+1操作,进行第二步操作,如果还是不能全部整除则继续 max+1操作,直到都能整除,即可。

Java代码:
import java.util.Scanner;
public class LCM {
    public static void main(String[] args) {
        input();
    }
    private static void input() {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = scanner.nextInt();
        f(a,b,c);
        scanner.close();
    }
    private static void f(int a, int b, int c) {
        int max = g(a,b,c);
        //System.out.println(max);
        while (true){
            if (max%a==0 && max%b==0 && max%c==0){
                System.out.println(max);
                return;
            }else {
                max++;
            }
        }
    }
    private static int g(int a, int b, int c) {
        int result = a;
        if (a<b){
            result = b;
        }
        if (result<c)
            result = c;
        return result;
    }
}

本人为算法渣渣,代码写得不够精炼,如有大神望指点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值