关于求最小公倍数的三种常用方法
求两个数的最大公倍数
- 前言
- 方法一
- 方法二
- 方法三(最优解)
前言
相信大家都刷到过这种题吧,输入两个数,求出两个数的最小公倍数,我总结归纳了三种方法,希望能帮到大家。
方法一
#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;
}
以上便是本期全部内容了,如果对您有帮助还请多多支持哦,文章有误还请批评指出,下期见啦~
关于求最小公倍数的三种常用方法相关推荐
- 求最小公倍数的三种方法(C语言)
求最小公倍数的三种方法 1.常规暴力求解法 2.辗转相除法 3.迭乘法 //1.常规暴力求解法 #include <stdio.h> int main() {int a = 0;int b ...
- 如何用计算机求最小公倍数的方法,快速求最小公倍数的四种方法(小学的题目额!) 假如用C求呢??...
快速求最小公倍数的四种方法 最近,在教学国标本五年级下册关于求最小公倍数时,从学生反映的作业情况来看,学生还是很容易做错的,为此我总结出了四种如何求最小公倍数的方法. 如果两个数是互质数(即两数的最大 ...
- 【笔试题】求最小公倍数 C++(两种方法)
题目 本题链接:求最小公倍数 正整数A和正整数B 的最小公倍数是指能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数. 输入描述: 输出描述: 示例1: 解题思路一: 暴力破解 从 ...
- C语言求最小公倍数的三种方法
第一种方法:累加法求 思路是,两个数字,要求他们的最小公倍数,那么这个最小公倍数,至少不要比这两个要求的数小.我们首先判断出两个数中较大的一个,然后判断这个数是否是要求的两个数的最小公倍数.如果不是, ...
- C语言(求最小公倍数的3种方法)
想要解开这题目首先要了解什么是最小公倍数 最小公倍数:是指能同时被a和b整除的最小正整数 例如:14 和 6 的最小公倍数有 42 84 126 最小的数就是最小公倍数 假设:a=6 b=18 那 ...
- 【C语言初阶】求最小公倍数的三种方法
文章目录 一.循环求解 二.辗转相除法 三.找最小 i 值 一.循环求解 首先两个数的最小公倍数一定大于两个数中较大的那个,且小于两数之积 找出a与b之间的较大值max 利用循环,令i=max,不断+ ...
- php怎么求最小公倍数,PHP编程求最大公约数与最小公倍数的方法示例
本文实例讲述了PHP编程求最大公约数与最小公倍数的方法.分享给大家供大家参考,具体如下: //求最大公约数 function max_divisor($a,$b) { $n = min($a, $b) ...
- php怎么求最小公倍数,C++_详解C语言求两个数的最大公约数及最小公倍数的方法,求两个正整数的最大公约数nbs - phpStudy...
详解C语言求两个数的最大公约数及最小公倍数的方法 求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y) ...
- 求两个数的最小公倍数; 两种方法
个人博客网站:https://www.liuzhi.org.cn/ //#include<stdio.h> //求两个数的最小公倍数: 两种方法 //1 //int main() //{ ...
最新文章
- MySQL☞dual虚拟表
- 20秋PHP作业3,北语20秋《PHP》作业3【标准答案】
- java学习笔记(九)----多线程
- Struts2 整合jQuery实现Ajax功能(2)
- C#中将list使用ProtoBuf进行序列化并使用SharpZipLib进行压缩
- 用redis实现消息队列(实时消费+ack机制)【转】
- 里bl2和bl3为什么分开_英国的水池为什么有两个水龙头?为什么英国有独立的冷热水龙头?...
- SOAP协议初级指南(9)
- 重磅 CV、NLP 算法赛,科大讯飞2020 A.I.开发者大赛正式启动!
- conda命令没找到的处理方案
- 关于DIPS的DLL注入(第22章)
- bjui获取当前页签或者是dialog容器
- CommScope将收购ARRIS:交易金额约达74亿美元,将加速实现CommScope塑造未来通信网络的愿景
- 我们可能都低估了浪潮存储
- tt作曲家简谱打谱软件_每个人的本地作曲家! 会议友好的满意设置
- swfobject2.2参数详解(swfobject.embedSWF)
- uwe5622 uwe5621ds 紫光展锐 wifi 移植的几个关键点:
- html div 移除,js动态创建及移除div的方法
- 什么是网站的源代码?
- 硬件探索——在Multisim中搭建AM(调幅)与检波电路
热门文章
- 荣耀手机鸿蒙系统推送升级,荣耀哪些手机可以升级鸿蒙系统 荣耀鸿蒙系统支持的手机型号盘点...
- 5000人小程序 服务器,微信又有重大变化!好友上限要突破5000人?红包、小程序都要变,还有一个新功能…...
- ios7版 30天精通iPhone手机编程 第2天 第一个程序“Hello”
- Grim Finance闪电贷安全事件分析
- 圣火徽章外传 游戏修改 武器修改 超级修改 修改支持 武器代码
- Node.js操作Json格式文件
- SAP中ABAP编辑器快捷键及文字大小设置一览
- ios开发怎么接入面容id_谈谈数盟可信ID的技术原理
- Linux之RHCE免密登录及HTTP详解
- CSS3 background-clip背景裁剪、CSS3 background-origin背景图片起点