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的Django框架中if标签的相关使用
Jul 15 Python
Python的Tornado框架实现图片上传及图片大小修改功能
Jun 30 Python
python装饰器深入学习
Apr 06 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
详解Python函数式编程—高阶函数
Mar 29 Python
python面试题小结附答案实例代码
Apr 11 Python
kafka-python 获取topic lag值方式
Dec 23 Python
使用Python串口实时显示数据并绘图的例子
Dec 26 Python
python模式 工厂模式原理及实例详解
Feb 11 Python
Eclipse配置python默认头过程图解
Apr 26 Python
python文件排序的方法总结
Sep 13 Python
Python中npy和mat文件的保存与读取
Apr 24 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
当海贼王变成JOJO风
2020/03/02 日漫
实例解析php的数据类型
2018/10/24 PHP
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
学习ExtJS border布局
2009/10/08 Javascript
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
Python selenium文件上传方法汇总
2020/11/19 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
python3中利用filter函数输出小于某个数的所有回文数实例
2019/11/24 Python
Python unittest框架操作实例解析
2020/04/13 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
英国二手物品交易网站:Preloved
2017/10/06 全球购物
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
StringBuilder和String的区别
2015/05/18 面试题
公司业务主管岗位职责
2013/12/07 职场文书
结婚喜宴主持词
2014/03/14 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
个人欠款担保书
2014/05/20 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
明确岗位职责
2015/02/14 职场文书
教师教育教学随笔
2015/08/15 职场文书
Python基础知识之变量的详解
2021/04/14 Python
python 中[0]*2与0*2的区别说明
2021/05/10 Python
my.ini优化mysql数据库性能的十个参数(推荐)
2021/05/26 MySQL