求两个数的最大公倍数

  • 前言
    • 方法一
    • 方法二
    • 方法三(最优解)

前言

相信大家都刷到过这种题吧,输入两个数,求出两个数的最小公倍数,我总结归纳了三种方法,希望能帮到大家。

方法一

#include<stdio.h>
void min(int a,int b)
{long long max = (a > b ? a : b);for (max; max <= a * b; max++)if (max % a == 0 && max % b == 0)break;printf("%lld", max);
}
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);min(a, b);return 0;
}

我们都知道,最小公倍数是大于等于两个数的较大数,小于等于两数相乘。
因此先求出两个数的最大值,再在最大值的基础上依次加一,来找出最小公倍数。

方法二

#include<stdio.h>
void min(int a, int b)
{int m = (a < b ? a : b);for (m; m > 0; m--)if (a % m == 0 && b % m == 0)break;                  //求出最大公约数 mlong long p = a * b / m;printf("%lld", p);
}
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);min(a, b);return 0;
}

我们知道最大公倍数还可以利用两数相乘再除以最大公约数来求,我们利用两数的最小值来依次减一,来找到最大公约数。

当然了,我们也可以用辗转相除法来求出最大公约数,代码如下:

#include<stdio.h>
void min(int a, int b)
{int m = a;        //先将 a , b 存起来int n = b;while (a % b)    //辗转相除,最后 b 即为最大公约数{int f = a % b;a = b;b = f;}long long p = m * n / b;printf("%lld", p);
}
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);min(a, b);return 0;
}

方法三(最优解)

我们先来理一下思路吧,假设 k 是最小公倍数,那么下面两个式子必然成立,
k / a = i
k / b = j
那么我们可以推出 —> a * i % b=0
那么我们可以将 i 从 1 开始加起直到满足上式,即可求出最小公倍数为 a * i
我们可以写出如下代码:

#include<stdio.h>
int main()
{long long a = 0;long long b = 0;scanf("%lld %lld", &a, &b);int i = 1;while (a * i % b){i++;}printf("%lld", a * i);return 0;
}

以上便是本期全部内容了,如果对您有帮助还请多多支持哦,文章有误还请批评指出,下期见啦~

关于求最小公倍数的三种常用方法相关推荐

  1. 求最小公倍数的三种方法(C语言)

    求最小公倍数的三种方法 1.常规暴力求解法 2.辗转相除法 3.迭乘法 //1.常规暴力求解法 #include <stdio.h> int main() {int a = 0;int b ...

  2. 如何用计算机求最小公倍数的方法,快速求最小公倍数的四种方法(小学的题目额!) 假如用C求呢??...

    快速求最小公倍数的四种方法 最近,在教学国标本五年级下册关于求最小公倍数时,从学生反映的作业情况来看,学生还是很容易做错的,为此我总结出了四种如何求最小公倍数的方法. 如果两个数是互质数(即两数的最大 ...

  3. 【笔试题】求最小公倍数 C++(两种方法)

    题目 本题链接:求最小公倍数 正整数A和正整数B 的最小公倍数是指能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数. 输入描述: 输出描述: 示例1: 解题思路一: 暴力破解 从 ...

  4. C语言求最小公倍数的三种方法

    第一种方法:累加法求 思路是,两个数字,要求他们的最小公倍数,那么这个最小公倍数,至少不要比这两个要求的数小.我们首先判断出两个数中较大的一个,然后判断这个数是否是要求的两个数的最小公倍数.如果不是, ...

  5. C语言(求最小公倍数的3种方法)

    想要解开这题目首先要了解什么是最小公倍数 最小公倍数:是指能同时被a和b整除的最小正整数 例如:14 和 6  的最小公倍数有 42 84 126 最小的数就是最小公倍数 假设:a=6  b=18 那 ...

  6. 【C语言初阶】求最小公倍数的三种方法

    文章目录 一.循环求解 二.辗转相除法 三.找最小 i 值 一.循环求解 首先两个数的最小公倍数一定大于两个数中较大的那个,且小于两数之积 找出a与b之间的较大值max 利用循环,令i=max,不断+ ...

  7. php怎么求最小公倍数,PHP编程求最大公约数与最小公倍数的方法示例

    本文实例讲述了PHP编程求最大公约数与最小公倍数的方法.分享给大家供大家参考,具体如下: //求最大公约数 function max_divisor($a,$b) { $n = min($a, $b) ...

  8. php怎么求最小公倍数,C++_详解C语言求两个数的最大公约数及最小公倍数的方法,求两个正整数的最大公约数nbs - phpStudy...

    详解C语言求两个数的最大公约数及最小公倍数的方法 求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y) ...

  9. 求两个数的最小公倍数; 两种方法

    个人博客网站:https://www.liuzhi.org.cn/ //#include<stdio.h> //求两个数的最小公倍数: 两种方法 //1 //int main() //{ ...

最新文章

  1. MySQL☞dual虚拟表
  2. 20秋PHP作业3,北语20秋《PHP》作业3【标准答案】
  3. java学习笔记(九)----多线程
  4. Struts2 整合jQuery实现Ajax功能(2)
  5. C#中将list使用ProtoBuf进行序列化并使用SharpZipLib进行压缩
  6. 用redis实现消息队列(实时消费+ack机制)【转】
  7. 里bl2和bl3为什么分开_英国的水池为什么有两个水龙头?为什么英国有独立的冷热水龙头?...
  8. SOAP协议初级指南(9)
  9. 重磅 CV、NLP 算法赛,科大讯飞2020 A.I.开发者大赛正式启动!
  10. conda命令没找到的处理方案
  11. 关于DIPS的DLL注入(第22章)
  12. bjui获取当前页签或者是dialog容器
  13. CommScope将收购ARRIS:交易金额约达74亿美元,将加速实现CommScope塑造未来通信网络的愿景
  14. 我们可能都低估了浪潮存储
  15. tt作曲家简谱打谱软件_每个人的本地作曲家! 会议友好的满意设置
  16. swfobject2.2参数详解(swfobject.embedSWF)
  17. uwe5622 uwe5621ds 紫光展锐 wifi 移植的几个关键点:
  18. html div 移除,js动态创建及移除div的方法
  19. 什么是网站的源代码?
  20. 硬件探索——在Multisim中搭建AM(调幅)与检波电路

热门文章

  1. 荣耀手机鸿蒙系统推送升级,荣耀哪些手机可以升级鸿蒙系统 荣耀鸿蒙系统支持的手机型号盘点...
  2. 5000人小程序 服务器,微信又有重大变化!好友上限要突破5000人?红包、小程序都要变,还有一个新功能…...
  3. ios7版 30天精通iPhone手机编程 第2天 第一个程序“Hello”
  4. Grim Finance闪电贷安全事件分析
  5. 圣火徽章外传 游戏修改 武器修改 超级修改 修改支持 武器代码
  6. Node.js操作Json格式文件
  7. SAP中ABAP编辑器快捷键及文字大小设置一览
  8. ios开发怎么接入面容id_谈谈数盟可信ID的技术原理
  9. Linux之RHCE免密登录及HTTP详解
  10. CSS3 background-clip背景裁剪、CSS3 background-origin背景图片起点