求其最大公约数和最小公倍数,一行代码完成

题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。

求出最大公约数就行,最小公倍数用m*n除以最大公约数就行

package myself;

import java.util.Scanner;

/**
 * @Auther QY
 * @Date 2023/12/11
 */
public class Six {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int n = sc.nextInt();
        System.out.println("最大公约数:" + gcd3(m, n));
        System.out.println("最小公倍数:" + lcm(m, n));
    }

    //        最大公约数先写了容易被理解的三种
    public static int gcd1(int m, int n) {
//        m或n有一个为0就退出,返回大的
        while (m * n != 0) {
            if (m > n) {
                m %= n;
            } else {
                n %= m;
            }
        }
        if (n == 0) {
            return m;
        } else {
            return n;
        }
    }

    public static int gcd2(int m, int n) {
//        减到相同就退出
        while (m != n) {
            if (m > n) {
                m -= n;
            } else {
                n -= m;
            }
        }
        return n;
    }

    public static int gcd3(int m, int n) {
//        第一种方法的进一步优化
//        举个例子m=0,n=6;下一步就变成m=6,n=0
//        一定要后面的判断,防止除数变为0
        return n > 0 ? gcd3(n, m % n) : m;
    }

    //    最小公倍数
    public static int lcm(int m, int n) {
        return m * n / gcd3(m, n);
    }
}

gcd(a,b){
	//java写的时候要写出b>0不想c一样能用数字判断真假
	return b?gcd(b,a%b):a
}
posted @   芊嵛  阅读(118)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
  1. 1 イエスタデイ(翻自 Official髭男dism) 茶泡饭,春茶,kobasolo
  2. 2 世间美好与你环环相扣 柏松
世间美好与你环环相扣 - 柏松
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 尹初七

作曲 : 柏松

编曲 : 彭圣杰

偏偏秉烛夜游

偏偏秉烛夜游

午夜星辰 似奔走之友

爱你每个结痂伤口

酿成的陈年烈酒

入喉尚算可口

入喉尚算可口

怎么泪水 还偶尔失守

邀你细看心中缺口

裂缝中留存 温柔

此时已莺飞草长 爱的人正在路上

此时已莺飞草长 爱的人正在路上

我知他风雨兼程 途经日暮不赏

穿越人海 只为与你相拥

此刻已皓月当空 爱的人手捧星光

我知他乘风破浪 去了黑暗一趟

感同身受 给你救赎热望

知道你不能 还要你感受

知道你不能 还要你感受

让星光加了一点彩虹

让樱花偷偷 吻你额头

让世间美好 与你环环相扣

此时已莺飞草长 爱的人正在路上

此时已莺飞草长 爱的人正在路上

我知他风雨兼程 途经日暮不赏

穿越人海 只为与你相拥

此刻已皓月当空 爱的人手捧星光

我知他乘风破浪 去了黑暗一趟

感同身受 给你救赎热望

此时已莺飞草长 爱的人正在路上

此时已莺飞草长 爱的人正在路上

我知他风雨兼程 途经日暮不赏

穿越人海 只为与你相拥

此刻已皓月当空 爱的人手捧星光

我知他乘风破浪 去了黑暗一趟

感同身受 给你救赎热望

知道你不能 还要你感受

知道你不能 还要你感受

让星光加了一点彩虹

当樱花开的纷纷扬扬

当世间美好 与你环环相扣

特别鸣谢:槿葵,我们的海报制作妹妹。

原唱:柏松

吉他:柏松

和声:柏松

录音:柏松

混音:张强

点击右上角即可分享
微信分享提示