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实现删除文件但保留指定文件
Jun 21 Python
Python在Windows和在Linux下调用动态链接库的教程
Aug 18 Python
python 网络编程详解及简单实例
Apr 25 Python
Python 私有函数的实例详解
Sep 11 Python
PyQt5主窗口动态加载Widget实例代码
Feb 07 Python
python实现监控某个服务 服务崩溃即发送邮件报告
Jun 21 Python
Python开启线程,在函数中开线程的实例
Feb 22 Python
Python这样操作能存储100多万行的xlsx文件
Apr 16 Python
Python 实现顺序高斯消元法示例
Dec 09 Python
tensorflow 环境变量设置方式
Feb 06 Python
python 爬取B站原视频的实例代码
Sep 09 Python
Python使用protobuf序列化和反序列化的实现
May 19 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实现的获取URL信息的类
2007/01/02 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
php格式化电话号码的方法
2015/04/24 PHP
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
jQuery each()小议
2010/03/18 Javascript
Javascript将string类型转换int类型
2010/12/09 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
AngularJS内置指令
2015/02/04 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
vue组件开发之slider组件使用详解
2020/08/21 Javascript
小程序点餐界面添加购物车左右摆动动画
2020/09/23 Javascript
vue 动态创建组件的两种方法
2020/12/31 Vue.js
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
Python 自动化表单提交实例代码
2017/06/08 Python
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
Python docx库用法示例分析
2019/02/16 Python
python环境下安装opencv库的方法
2020/03/05 Python
Notino法国:购买香水和化妆品
2019/04/15 全球购物
银行财务部实习生的自我鉴定
2013/11/27 职场文书
政府法律服务方案
2014/06/14 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python
Spring Bean是如何初始化的详解
2022/03/22 Java/Android