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中的随机函数random的用法示例
Jan 27 Python
对python程序内存泄漏调试的记录
Jun 11 Python
Python3爬虫使用Fidder实现APP爬取示例
Nov 27 Python
详解程序意外中断自动重启shell脚本(以Python为例)
Jul 26 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
利用Tensorflow的队列多线程读取数据方式
Feb 05 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
自定义Django默认的sitemap站点地图样式
Mar 04 Python
Python函数基本使用原理详解
Mar 19 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
May 15 Python
一篇文章搞懂python的转义字符及用法
Sep 03 Python
Python 获取异常(Exception)信息的几种方法
Dec 29 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
PDO::lastInsertId讲解
2019/01/29 PHP
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
js left,right,mid函数
2008/06/10 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
理解javascript回调函数
2014/12/28 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
javascript 闭包详解
2015/07/02 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
vue多级多选菜单组件开发
2020/09/08 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
用Python的urllib库提交WEB表单
2009/02/24 Python
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
高中毕业生个人自我鉴定
2013/11/24 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
租赁协议书范本
2014/04/22 职场文书
企业总经理任命书
2014/06/05 职场文书
社区志愿者活动总结
2014/06/26 职场文书
高效课堂标语
2014/06/26 职场文书
给老婆道歉的话
2015/01/20 职场文书
教师求职自荐信范文
2015/03/04 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书
编写python程序的90条建议
2021/04/14 Python
html form表单基础入门案例讲解
2021/07/21 HTML / CSS
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL