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 logging类库使用例子
Nov 22 Python
Python中的lstrip()方法使用简介
May 19 Python
一步步教你用Python实现2048小游戏
Jan 19 Python
Python函数返回不定数量的值方法
Jan 22 Python
元组列表字典(莫烦python基础)
Apr 03 Python
详解Python 函数如何重载?
Apr 23 Python
Python配置文件处理的方法教程
Aug 29 Python
Python Tornado之跨域请求与Options请求方式
Mar 28 Python
Django-xadmin+rule对象级权限的实现方式
Mar 30 Python
Django 构建模板form表单的两种方法
Jun 14 Python
Python调用shell cmd方法代码示例解析
Jun 18 Python
Python 随机按键模拟2小时
Dec 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
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
谈谈PHP的输入输出流
2007/02/14 PHP
php编写一个简单的路由类
2011/04/13 PHP
PHP 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
CURL状态码列表(详细)
2013/06/27 PHP
php获得用户ip地址的比较不错的方法
2014/02/08 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
Python测试人员需要掌握的知识
2018/02/08 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
Python读取csv文件实例解析
2019/12/30 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
python 追踪except信息方式
2020/04/25 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
机电工程专业应届生求职信
2013/10/03 职场文书
工厂仓管员岗位职责
2014/01/01 职场文书
幼儿园庆六一游园活动方案
2014/01/29 职场文书
青春励志演讲稿
2014/04/29 职场文书
初三数学教学反思
2016/02/17 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript