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入门篇之面向对象
Oct 20 Python
利用Python的Django框架中的ORM建立查询API
Apr 20 Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
对python创建及引用动态变量名的示例讲解
Nov 10 Python
python调用支付宝支付接口流程
Aug 15 Python
Python中最好用的命令行参数解析工具(argparse)
Aug 23 Python
Python定义函数时参数有默认值问题解决
Dec 19 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
Jan 14 Python
详解python itertools功能
Feb 07 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
Pandas的Apply函数具体使用
Jul 21 Python
python 实现Harris角点检测算法
Dec 11 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
MySQL授权问题总结
2007/05/06 PHP
php 删除无限级目录与文件代码共享
2008/11/22 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
使用Python编写Linux系统守护进程实例
2015/02/03 Python
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
python协程用法实例分析
2015/06/04 Python
python简单贪吃蛇开发
2019/01/28 Python
python制作图片缩略图
2019/04/30 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
python用requests实现http请求代码实例
2019/10/31 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
基于python3生成标签云代码解析
2020/02/18 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
英国钻石公司:British Diamond Company
2020/02/16 全球购物
Linux文件系统类型
2012/09/16 面试题
营销人才自我鉴定范文
2013/12/25 职场文书
大学生励志演讲稿
2014/04/25 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
高一军训决心书
2015/02/05 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
乔迁新居祝福语
2019/11/04 职场文书
动态规划之使用备忘录来改进Javascript函数
2022/04/07 Javascript