Python实现的求解最大公约数算法示例


Posted in Python onMay 03, 2018

本文实例讲述了Python实现的求解最大公约数算法。分享给大家供大家参考,具体如下:

使用Python求解两个数的最大公约数的时候用到了前面介绍的分解质因式。其实,我写分解质因式程序的时候就是因为发现在实现最大公约数求解的过程中用到了这个功能。

比较令我开心的是之前学的一点Python集合处理功能居然在这个时候也派上了用场,小程序的完成让人感觉比较舒心。

代码实现如下:

#!/usr/bin/python
from collections import Counter
def PrimeNum(num):
  r_value =[]
  for i inrange(2,num+1):
   for jin range(2,i):
     if i % j == 0:
      break
   else:
     r_value.append(i)
  return r_value
def PrimeFactorSolve(num,prime_list):
  for n inprime_list:
   if num % n == 0:
     return [n,num / n]
def PrimeDivisor(num):
  num_temp =num
  prime_range= PrimeNum(num)
  ret_value =[]
  while numnot 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 MaxDivisor(num1,num2):
  dict1 =PrimeDivisor(num1)
  dict2 =PrimeDivisor(num2)
  max_divisor= 1
  for key1 indict1:
   if key1 in dict2:
     if dict1[key1] < dict2[key1]:
      max_divisor*= (key1 ** dict1[key1])
     else:
      max_divisor*= (key1 ** dict2[key1])
  return max_divisor
print(MaxDivisor(12,18))
print(MaxDivisor(7,2))
print(MaxDivisor(7,13))
print(MaxDivisor(24,56))
print(MaxDivisor(63,81))

程序的执行结果如下:

E:\WorkSpace\01_编程语言\03_Python\math>python max_divisor.py
6
1
1
8
9

通过验证,计算结果准确。

Python 相关文章推荐
Python字符串格式化
Jun 15 Python
全面了解Python环境配置及项目建立
Jun 30 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 Python
Django Rest framework之权限的实现示例
Dec 17 Python
Python子类继承父类构造函数详解
Feb 19 Python
python使用Paramiko模块实现远程文件拷贝
Apr 30 Python
Python数据类型之List列表实例详解
May 08 Python
将python依赖包打包成window下可执行文件bat方式
Dec 26 Python
Pycharm生成可执行文件.exe的实现方法
Jun 02 Python
Python爬虫爬取博客实现可视化过程解析
Jun 29 Python
Python字符串及文本模式方法详解
Sep 10 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 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
python实现数据导出到excel的示例--普通格式
May 03 #Python
You might like
五款常用mysql slow log分析工具的比较分析
2011/05/22 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
jquery自定义表格样式
2015/11/23 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
python删除列表中重复记录的方法
2015/04/28 Python
Python中将字典转换为XML以及相关的命名空间解析
2015/10/15 Python
python append、extend与insert的区别
2016/10/13 Python
Python 私有函数的实例详解
2017/09/11 Python
用十张图详解TensorFlow数据读取机制(附代码)
2018/02/06 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
好的演讲稿开场白
2013/12/30 职场文书
运动会广播稿60字
2014/01/15 职场文书
护士医德医风自我评价
2014/09/15 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
2015年学雷锋活动总结
2015/02/06 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
Android Rxjava3 使用场景详解
2022/04/07 Java/Android