Python实现的求解最小公倍数算法示例


Posted in Python onMay 03, 2018

本文实例讲述了Python实现的求解最小公倍数算法。分享给大家供大家参考,具体如下:

简单分析了一下,前面介绍的最大公约数的求解方法跟最小公倍数求解方法类似,只需要改一个简单的条件,然后做一点简单的其他计算。问题的解决也是基于分解质因式的程序。

程序实现以及测试case代码如下:

#!/usr/bin/python
from collections import Counter
def PrimeNum(num):
  r_value =[]
  for i in range(2,num+1):
   for j in range(2,i):
     if i % j == 0:
      break
   else:
     r_value.append(i)
  return r_value
def PrimeFactorSolve(num,prime_list):
  for n in prime_list:
   if num % n == 0:
     return [n,num / n]
def PrimeDivisor(num):
  num_temp =num
  prime_range= PrimeNum(num)
  ret_value =[]
  while num not in prime_range:
   factor_list= PrimeFactorSolve(num,prime_range)
   ret_value.append(factor_list[0])
   num =factor_list[1]
  else:
   ret_value.append(num)
  return Counter(ret_value)
def LeastCommonMultiple(num1,num2):
  dict1 =PrimeDivisor(num1)
  dict2 =PrimeDivisor(num2)
  least_common_multiple= 1
  for key in dict1:
   if key in dict2:
     if dict1[key] > dict2[key]:
      least_common_multiple*= (key ** dict1[key])
     else:
      least_common_multiple*= (key ** dict2[key])
  for key in dict1:
   if key not in dict2:
     least_common_multiple*= (key ** dict1[key])
  for key in dict2:
   if key not in dict1:
     least_common_multiple*= (key ** dict2[key])
  return least_common_multiple
print(LeastCommonMultiple(12,18))
print(LeastCommonMultiple(7,2))
print(LeastCommonMultiple(7,13))
print(LeastCommonMultiple(24,56))
print(LeastCommonMultiple(63,81))

程序执行结果:

E:\WorkSpace\01_编程语言\03_Python\math>pythonleast_common_multiple.py
36
14
91
168
567

通过验证,计算结果准确。

Python 相关文章推荐
详解Python中的多线程编程
Apr 09 Python
python3爬取各类天气信息
Feb 24 Python
从django的中间件直接返回请求的方法
May 30 Python
Tensorflow使用tfrecord输入数据格式
Jun 19 Python
利用anaconda作为python的依赖库管理方法
Aug 13 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
Nov 01 Python
Python中join()函数多种操作代码实例
Jan 13 Python
django的模型类管理器——数据库操作的封装详解
Apr 01 Python
Python基于百度AI实现OCR文字识别
Apr 02 Python
基于Python的Jenkins的二次开发操作
May 12 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
python使用matplotlib绘制图片时x轴的刻度处理
Aug 30 Python
Python实现的求解最大公约数算法示例
May 03 #Python
Python实现的质因式分解算法示例
May 03 #Python
Python绘制3D图形
May 03 #Python
Python学习_几种存取xls/xlsx文件的方法总结
May 03 #Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 #Python
python调用xlsxwriter创建xlsx的方法
May 03 #Python
Python基于opencv的图像压缩算法实例分析
May 03 #Python
You might like
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
比file_get_contents稳定的curl_get_contents分享
2012/01/11 PHP
PHP获取用户客户端真实IP的解决方案
2016/10/10 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
javascript读取RSS数据
2007/01/20 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
js中同步与异步处理的方法和区别总结
2013/12/25 Javascript
Backbone.js的一些使用技巧
2015/07/01 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
2017/07/20 Javascript
浅谈JavaScript find 方法不支持IE的问题
2017/09/28 Javascript
VuePress 快速踩坑小结
2019/02/14 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
2017/07/07 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
dpn网络的pytorch实现方式
2020/01/14 Python
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
经典c++面试题六
2012/01/18 面试题
优秀党员转正的自我评价
2013/10/06 职场文书
生产副总岗位职责
2013/11/28 职场文书
项目建议书怎么写
2014/05/15 职场文书
宣传工作经验材料
2014/06/02 职场文书
工作试用期自我评价
2015/03/10 职场文书
孔子观后感
2015/06/08 职场文书
2015年社区国庆节活动总结
2015/07/30 职场文书
教师廉政准则心得体会
2016/01/20 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书