最小公倍数和最大公约数的求法——最快的:辗转相除法
首先,先求最大公约数,利用的方法是辗转相除法
辗转相除法的基本原理
如果用C语言来实现,实现代码如下:
循环语句实现
long long int maxDivisor(long long int a,long long int b) //求最大公约数
{long long int i,c;if(a<b) //保证最大的数是a,因为是大数除小数{c = a;a = b;b = c;}while(a%b != 0){c = a%b;a = b;b = c;}return b;
}
递归实现
int gcd(int a, int b)
{if(b==0)return a;return gcd(b, a%b);
}
然后来求两个数的最小公倍数
方法1:(优点:速度快,首选这个)
利用先求出最大公约数,两个数的a和b,即
a*b/最大公约数 = 最小公倍数
b*d/maxDivisor(b,d);
方法2:
利用最小公倍数,肯定比最大的数大,比a*b小,那就用循环,从大数到a*b,判断是否可以被a,b整除,如果整除,说明就是最小公倍数
但是缺点就是,万一a和b这两个数太大,循环就很多次,这样子就容易超出时间
代码实现:
long long int minMultiple(long long int a,long long int b) //求最小公倍数
{long long int i,c;if(a<b) //确保a最大 {c = a;a = b;b = c;}for(i = a;i <= a*b;i++) {if(i%a==0 && i%b==0)break;}return i;
}
最小公倍数和最大公约数的求法——最快的:辗转相除法相关推荐
- Vijos P1131 最小公倍数和最大公约数问题【暴力】
最小公倍数和最大公约数问题 描述 输入二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求出满足下列条件的P.Q的个数. 条件:1.P.Q是正整数 2.要求P.Q以xO为最大公 ...
- C语言实验——最小公倍数和最大公约数_JAVA
Description 从键盘输入两个正整数,求这两个正整数的最小公倍数和最大公约数,并输出. Input 输入包括一行. 两个以空格分开的正整数. Output 两个整数的最小公倍数和最大公约数. ...
- 常见算法:C语言求最小公倍数和最大公约数三种算法
最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...
- c 求最小公倍数_公务员备考-最小公倍数和最小公约数问题
1.关键提示: 最小公倍数与最大公约数的题一般不难,但一定要细致审题,千万不要粗心.另外这类题往往和日期(星期几)问题联系在一起,要学会求余. 2.核心定义: (1)最大公约数:如果一个自然数a能被自 ...
- 求最小公倍数c语言最简公式,C语言求最小公倍数和最大公约数三种算法(经典)...
把以前写的一些经验总结汇个总,方便给未来的学弟学妹们做个参考! --------------------------永远爱你们的:Sakura 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们 ...
- c语言求最小公倍数和最大公约数三种算法
C语言求最小公倍数和最大公约数三种算法(经典) 求最小公倍数算法: 最小公倍数=两整数的乘积÷最大公约数 求最大公约数算法: (1)辗转相除法 有两整数a和b: ① a%b得余数c ② 若c=0,则b ...
- 求最小公倍数的方法php,JS怎么求得最小公倍数和最大公约数
这次给大家带来JS怎么求得最小公倍数和最大公约数,JS求得最小公倍数和最大公约数的注意事项有哪些,下面就是实战案例,一起来看一下. 方法来自求多个数最小公倍数的一种变换算法(详见附录说明) 最小公倍数 ...
- 辗转取余数php算最小公约数,JS取得最小公倍数与最大公约数
这次给大家带来JS取得最小公倍数与最大公约数,JS取得最小公倍数与最大公约数的注意事项有哪些,下面就是实战案例,一起来看一下. 方法来自求多个数最小公倍数的一种变换算法(详见附录说明) 最小公倍数的算 ...
- C语言求最小公倍数和最大公约数三种算法(经典)
C语言求最小公倍数和最大公约数三种算法(经典) 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为 ...
最新文章
- Leetcode-翻转图像(832)
- fixed在微信下的BUG
- How to make a difference
- Microsoft Visual Studio Code
- 知名网游Server端架构分析
- 距离矢量路由算法_距离矢量路由协议是如何巧妙的利用一种消息就完成失效路由通告、以及失效路由备份路径查询及查询响应。...
- NYOJ题目289/456/49-01背包问题汇总
- RabbitMQ 集群原理和完善
- 一个初级python web后端开发工程师的面试总结
- java jdom 创建xml_JDOM 创建 XML
- 多元函数微分学(微积分)
- 两万常用汉字的拼音+首字母缩写+unicode编码对照表
- java source 1.5不支持diamond运算符
- (c++)编写函数fac(n),用递归法求出n的阶乘.在程序中使用此函数,将输入的整数n的阶乘求出并输出到控制台.
- 读《人性的优点》有感
- STM32F407VET6 / BLACK_F407VE开发板间隔0.5秒不断重启
- 能远程控制你电脑的苹果充电线正在生产和售卖,走一个?
- ElasticSearch (ES)
- 组件容器服务器的关系,什么是docker 容器编排
- 南京邮电大学网络攻防平台writeup ————密码学
热门文章
- 项目管理-进度网络图
- LTE 5G UDN 小站的春天?
- VS2010 文件存取之CStdioFile
- Python:向IRIS发送邮件申请事件或者连续数据
- STM8系列5大主流成员(S,L,T,AF,AL)
- arduino语言c,Arduino编程基础(二)——C\C++语言基础(上)
- 《计算广告》_刘鹏_[一]在线广告市场与背景_(2)计算广告基础
- Java使用elasticjob实现定时任务(v2.1.5)
- Mybatis-plus尚硅谷跟学课堂笔记
- 定义Serializer