目录
一、最大公约数
1、枚举法
2、辗转相除法
二、最小公倍数
1、枚举法
2、扩大法
Hello,大家好,我是灰小猿,一个超会写bug的程序猿。
今天在这里记录一下在程序中求解两个数的最大公约数和最小公倍数的几种方法。
一、最大公约数
1、枚举法
采用枚举法求解两个数的最大公约数是我们最常使用到的方法,两个整数的最大公约数为a,则a应该是大于等于1,小于等于这两个数的最小数的。因此我们可以在该范围内对可能的数进行枚举即可。
使用程序如下:
2、辗转相除法
辗转相除法是在数学中求解两个数的最大公约数的方法,
思路是:
1、大数除以小数,如果余数是0,那么最大公约数就是这个小数。
2、否则继续使用小数对得到的余数求余,直到余数为0,则结果等于最后的那个除数
程序如下:
二、最小公倍数
1、枚举法
采用枚举法求解两个数的最小公倍数的方法:最小公倍数的最小可能是这两个数的最大数,因此我们利用for循环从该最大数开始递增,直到找到第一个可以将这两个数除尽的数即可。程序如下:
2、扩大法
扩大法其实也是枚举法的一种,只不过在for循环上效率高于第一种枚举法,我们在进行for循环时,是将较大数依次递增2倍、3倍…,直到找到第一个可以将这两个数除尽的数即可。程序如下:
关于求解最大公约数和最小公倍数的方法,之后还会继续更新效率更高的算法。
有问题的小伙伴也可以提出优化。
觉得不错记得点赞关注哟!
灰小猿陪你一起进步!
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览35042 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!