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下利用OpenCV来旋转图像的教程
Apr 16 Python
粗略分析Python中的内存泄漏
Apr 23 Python
python实现class对象转换成json/字典的方法
Mar 11 Python
浅析Python 中整型对象存储的位置
May 16 Python
Django实现快速分页的方法实例
Oct 22 Python
Python实现的tcp端口检测操作示例
Jul 24 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
Aug 07 Python
Python通过cv2读取多个USB摄像头
Aug 28 Python
Pytorch中accuracy和loss的计算知识点总结
Sep 10 Python
通过实例学习Python Excel操作
Jan 06 Python
在主流系统之上安装Pygame的方法
May 20 Python
python 解决Windows平台上路径有空格的问题
Nov 10 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
30 个很棒的PHP开源CMS内容管理系统小结
2011/10/14 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
js实现图片轮换效果代码
2013/04/16 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
2017/07/08 jQuery
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
python进阶教程之循环对象
2014/08/30 Python
讲解Python中运算符使用时的优先级
2015/05/14 Python
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
深入浅析Python的类
2018/06/22 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
python中实现控制小数点位数的方法
2019/01/24 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
给校长的建议书500字
2014/05/15 职场文书
经典演讲稿开场白
2014/08/25 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书
JavaScript控制台的更多功能
2021/04/28 Javascript
MySQL的join buffer原理
2021/04/29 MySQL
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python
python中subplot大小的设置步骤
2021/06/28 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python