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 GAE、Django导出Excel的方法
Nov 24 Python
利用Psyco提升Python运行速度
Dec 24 Python
Python实现的飞速中文网小说下载脚本
Apr 23 Python
在Django中创建第一个静态视图
Jul 15 Python
linecache模块加载和缓存文件内容详解
Jan 11 Python
python pandas dataframe 按列或者按行合并的方法
Apr 12 Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 Python
Python数据分析模块pandas用法详解
Sep 04 Python
Python 脚本拉取 Docker 镜像问题
Nov 10 Python
python实现图像外边界跟踪操作
Jul 13 Python
Python 整行读取文本方法并去掉readlines换行\n操作
Sep 03 Python
Python基础之元类详解
Apr 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
PHP 遍历文件实现代码
2011/05/04 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
2019/03/01 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
JQuery中$之选择器用法介绍
2011/04/05 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
2016/05/16 Javascript
简单实现轮播图效果的实例
2016/07/15 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
python hook监听事件详解
2018/10/25 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
python super()函数的基本使用
2020/09/10 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
Nike荷兰官方网站:Nike.com (NL)
2018/04/19 全球购物
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
中专毕业个人的自荐信格式
2013/09/21 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
电子商务专业自荐信
2014/06/02 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
限期整改通知书
2015/04/22 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫