主页 > 游戏开发  > 

打印最小公倍数


打印最小公倍数 题目描述:

输入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; }
标签:

打印最小公倍数由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“打印最小公倍数