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和C语言混合编程实例
Jun 04 Python
python实现超简单端口转发的方法
Mar 13 Python
Python下Fabric的简单部署方法
Jul 14 Python
PyQt5每天必学之关闭窗口
Apr 19 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
Django后端发送小程序微信模板消息示例(服务通知)
Dec 17 Python
Python中socket网络通信是干嘛的
May 27 Python
OpenCV利用python来实现图像的直方图均衡化
Oct 21 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 Python
python实现简单石头剪刀布游戏
Oct 24 Python
Python何绘制带有背景色块的折线图
Apr 23 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
php使用fputcsv()函数csv文件读写数据的方法
2015/01/06 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
JS Timing
2007/04/21 Javascript
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
2019/10/31 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
pandas数据清洗,排序,索引设置,数据选取方法
2018/05/18 Python
Python如何对齐字符串
2020/07/30 Python
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
恐龙的灭绝教学反思
2014/02/12 职场文书
12月红领巾广播稿
2014/02/13 职场文书
项目施工员岗位职责
2014/03/09 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
团组织推荐意见
2015/06/05 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL
在Docker容器中部署SQL Server
2022/04/11 Servers