输入两个正整数,计算最大公约数和最小公倍数

文章目录

  • 思路
    • [计算最大公约数:欧几里得 辗转相除法](#计算最大公约数:欧几里得 辗转相除法)
    • [计算最小公倍数 公式](#计算最小公倍数 公式)
  • 代码
  • 运行结果

思路

计算最大公约数:欧几里得 辗转相除法

计算最小公倍数 公式

代码

java 复制代码
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入两个数,我将输出其最大公约数和最小公倍数");
        int a = sc.nextInt();
        int b = sc.nextInt();

        int max = Math.max(a, b);
        int min = Math.min(a, b);
        //特殊情况
        if(max % min == 0){
            System.out.println("最大公约数:"+min);
            System.out.println("最小公倍数:"+max);
            return;
        }

        //欧几里得 辗转相除法计算最大公约数
        int yushu = max % min;
        while(yushu != 0){
            max = min;
            min = yushu;
            yushu = max % min;
        }
        System.out.println("最大公约数:"+min);
        System.out.println("最小公倍数:"+a*b/min);
    }

运行结果

相关推荐
灵感__idea4 小时前
Hello 算法:贪心的世界
前端·javascript·算法
camellias_5 小时前
【无标题】
java·tomcat
咸鱼2.05 小时前
【java入门到放弃】需要背诵
java·开发语言
澈2075 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
椰猫子5 小时前
Java:异常(exception)
java·开发语言
ambition202426 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_6 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi6 小时前
前缀和差分
算法·图论
代码旅人ing6 小时前
链表算法刷题指南
数据结构·算法·链表
Yungoal6 小时前
常见 时间复杂度计算
c++·算法