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

文章目录

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

思路

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

计算最小公倍数 公式

代码

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);
    }

运行结果

相关推荐
Navigator_Z30 分钟前
LeetCode //C - 1209. Remove All Adjacent Duplicates in String II
c语言·算法·leetcode
落魄大学生之流水线上谋生计34 分钟前
Java锁全面指南:从基础概念到企业级应用
java·开发语言
爱学习的小白柏2 小时前
【AI问数技术】多Agent协同架构:查询规划/SQL生成/洞察分析/报告生成
java·网络·人工智能·windows·sql·架构·llama
码匠许师傅2 小时前
【C++ 面试真题】30. 聊聊 C++ 的互斥锁与读写锁
java·c++·面试
沙盘客2 小时前
AFSIM 示例解读(03)· 六自由度飞行仿真 six_dof(下):机场运作与弹道导弹投送
java·javascript·经验分享
ShineWinsu2 小时前
对于 C++:C++14中从变量模板、泛型 Lambda 到并发与字面量的解析
c++·算法
CHANCE V3 小时前
集合排序和流排序
java
土司大王3 小时前
LeetCode hot100——合并两个有序链表
算法·leetcode·链表
码行山野赴时序归途3 小时前
算法效率的度量(上):时间复杂度中的对数思维
c语言·数据结构·算法