HJ108 求最小公倍数

https://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3?tpId=37&tqId=21331&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3Fpage%3D1%26tpId%3D37%26type%3D37&difficulty=undefined&judgeStatus=undefined&tags=&title=

经典lcm,其实可以根据直觉直接推出 (a/gcd) * (b/gcd) * gcd = lcm

最小公倍数一定小于等于a*b,且显然最小公倍数是最大公约数的倍数,a是gcd的倍数,b也是gcd的倍数,即a是a和gcd的最小公倍数,b是b和gcd的最小公倍数,要求公共的,a和b的最小公倍数,且a*b也一定是gcd的倍数, 那就是看a*b有多少个gcd,但是这是直觉证明,可能看不懂

也可以看大佬的证明

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int a=in.nextInt();
        int b=in.nextInt();
        System.out.println(a*b/gcd(a,b));
    }

    private static int gcd(int a, int b) {
        return b==0 ? a : gcd(b,a%b);
    }
}

 

posted @   风乐  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示