打印最小公倍数
- 游戏开发
- 2025-08-04 04:57:02

打印最小公倍数 题目描述:
输入2个整数m和n,计算m和n的最小公倍数,并打印出结果
测试1: 输入:18 24 输出:72 测试2: 输入:18 6 输出:18解法思路:
最小公倍数是指两个或多个整数共有倍数中最小的⼀个。为了求出两个数的最小公倍数,可以采用枚举试除法。 1. 具体来说,公倍数⼀定大于两个数,从两个数中的较大值开始枚举; 2. 从小到大依次判断能否同时整除这两个数,若某个数满足同时被两个数整除,则其为公倍数; 3. 从小到大遍历找到公倍数时,此数即为最小公倍数,此时应当结束循环; • 特别地,最小公倍数可以由两数乘积除以两数的最大公约数求得
//⽅法1 #include <stdio.h> int main() { int m = 0; int n = 0; scanf("%d %d", &m, &n); //计算m和n的较⼤值 //m和n的最⼩公倍数,最⼩也是m和n中较⼤的值 int k = (m > n ? m : n); //重复对k进⾏判断 while (1) { //若k被两数同时整除,则k为公倍数,并且此时⼀定是最⼩公倍数 if (k % m == 0 && k % n == 0) { printf("%d\n", k); break; } //k的值加⼀,对下⼀个数进⾏判断 k++; } return 0; } //⽅法2 #include <stdio.h> int main() { int m = 0; int n = 0; //输⼊ scanf("%d %d", &m, &n);//18 24 int k = 0; int mul = m*n; //辗转相除法求得最⼤公约数 while (k = m % n) { m = n; n = k; } printf("%d\n", mul/n); return 0; }下一篇
高效的工作学习方法