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实现一次创建多级目录的方法
May 15 Python
用生成器来改写直接返回列表的函数方法
May 25 Python
pandas 使用apply同时处理两列数据的方法
Apr 20 Python
详解Python3 pandas.merge用法
Sep 05 Python
使用Python刷淘宝喵币(低阶入门版)
Oct 30 Python
Python 下载及安装详细步骤
Nov 04 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
Python利用逻辑回归分类实现模板
Feb 15 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 Python
Python虚拟环境venv用法详解
May 25 Python
能让Python提速超40倍的神器Cython详解
Jun 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
判“新”函数:得到今天与明天的秒数
2006/10/09 PHP
php 错误处理经验分享
2011/10/11 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
PHP三种方式实现链式操作详解
2017/01/21 PHP
PHP中常用的魔术方法
2017/04/28 PHP
js鼠标滑过弹出层的定位IE6bug解决办法
2012/12/26 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
jquery密码强度校验
2015/12/02 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
浅谈jQuery中事情的动态绑定
2017/02/12 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
javascript中的event loop事件循环详解
2018/12/14 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
python实现对csv文件的列的内容读取
2018/07/04 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
葡萄牙语专业个人求职信
2013/12/10 职场文书
初三开学计划书
2014/04/27 职场文书
班主任工作实习计划
2015/01/16 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python
MySQL系列之六 用户与授权
2021/07/02 MySQL