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优化技巧之利用ctypes提高执行速度
Sep 11 Python
Python工程师面试必备25条知识点
Jan 17 Python
python 反向输出字符串的方法
Jul 16 Python
Python实现的微信红包提醒功能示例
Aug 22 Python
wxPython电子表格功能wx.grid实例教程
Nov 19 Python
使用Python实现 学生学籍管理系统
Nov 26 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
Dec 13 Python
python如何基于redis实现ip代理池
Jan 17 Python
python设置代理和添加镜像源的方法
Feb 14 Python
python实现学生管理系统开发
Jul 24 Python
python 自定义异常和主动抛出异常(raise)的操作
Dec 11 Python
Python离线安装openpyxl模块的步骤
Mar 30 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
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
JavaScript中的集合及效率
2010/01/08 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
Angular2中如何使用ngx-translate进行国际化
2017/05/21 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
jQuery实现点击关注和取消功能
2017/07/03 jQuery
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
python global和nonlocal用法解析
2020/02/03 Python
python数据爬下来保存的位置
2020/02/17 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
Sam’s Club山姆会员商店:沃尔玛旗下高端会员制商店
2017/01/16 全球购物
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
高校生生产实习自我鉴定
2013/09/21 职场文书
传播学毕业生求职信
2013/10/11 职场文书
合同协议书格式
2014/04/18 职场文书
学生保证书范文
2014/04/28 职场文书
热爱祖国的演讲稿
2014/05/04 职场文书
个人查摆问题整改措施
2014/10/04 职场文书
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android