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 ElementTree 基本读操作示例
Apr 09 Python
在python3环境下的Django中使用MySQL数据库的实例
Aug 29 Python
python实现百万答题自动百度搜索答案
Jan 16 Python
Python DataFrame.groupby()聚合函数,分组级运算
Sep 18 Python
详解python多线程之间的同步(一)
Apr 03 Python
python Django框架实现web端分页呈现数据
Oct 31 Python
Python实现自定义读写分离代码实例
Nov 16 Python
Python容器类型公共方法总结
Aug 19 Python
python实现图书馆抢座(自动预约)功能的示例代码
Sep 29 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 Python
python缺失值的解决方法总结
Jun 09 Python
你喜欢篮球吗?Python实现篮球游戏
Jun 11 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
yii框架源码分析之创建controller代码
2011/06/28 PHP
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
php里array_work用法实例分析
2015/07/13 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
自动化测试读写64位操作系统的注册表
2016/08/15 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
Vue-axios-post数据后端接不到问题解决
2020/01/09 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
javascript操作向表格中动态加载数据
2020/08/27 Javascript
python进程管理工具supervisor使用实例
2014/09/17 Python
Python学习笔记之os模块使用总结
2014/11/03 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
python爬取微信公众号文章的方法
2019/02/26 Python
python实现文法左递归的消除方法
2020/05/22 Python
用CSS3实现无限循环的无缝滚动的示例代码
2017/11/01 HTML / CSS
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
采购部岗位职责
2013/11/24 职场文书
小车司机岗位职责
2013/11/25 职场文书
党校毕业心得体会
2014/09/13 职场文书
北大自主招生自荐信
2015/03/04 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
MySQL 逻辑备份 into outfile
2022/05/15 MySQL