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 13 Python
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
基于python的Tkinter实现一个简易计算器
Dec 31 Python
python使用arcpy.mapping模块批量出图
Mar 06 Python
TensorFlow中权重的随机初始化的方法
Feb 11 Python
pandas多级分组实现排序的方法
Apr 20 Python
对Python random模块打乱数组顺序的实例讲解
Nov 08 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
python程序 创建多线程过程详解
Sep 23 Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 Python
Python绘制地图神器folium的新人入门指南
May 23 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中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
PHP加密函数 Javascript/Js 解密函数
2013/09/23 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
ThinkPHP实现分页功能
2017/04/28 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
JS中使用正则表达式g模式和非g模式的区别
2017/04/01 Javascript
jquery实现限制textarea输入字数的方法
2017/09/06 jQuery
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
Django中使用Celery的教程详解
2018/08/24 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
学习雷锋倡议书
2014/04/15 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
纪念一二九运动演讲稿
2014/09/16 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
2014年党务工作总结
2014/11/25 职场文书
初中家长评语大全
2014/12/26 职场文书
运动会表扬稿
2015/01/16 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
浅谈JavaScript作用域
2021/12/06 Javascript
浅谈MySQL中的六种日志
2022/03/23 MySQL
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL