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实现的可以拷贝或剪切一个文件列表中的所有文件
Apr 30 Python
python选择排序算法实例总结
Jul 01 Python
Python3实现并发检验代理池地址的方法
Sep 18 Python
python 安装virtualenv和virtualenvwrapper的方法
Jan 13 Python
实践Vim配置python开发环境
Jul 02 Python
Python中文件的写入读取以及附加文字方法
Jan 23 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
python实现输入的数据在地图上生成热力图效果
Dec 06 Python
Python中包的用法及安装
Feb 11 Python
python判断all函数输出结果是否为true的方法
Dec 03 Python
BeautifulSoup中find和find_all的使用详解
Dec 07 Python
python神经网络 使用Keras构建RNN训练
May 04 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
一段php加密解密的代码
2007/07/16 PHP
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
php ci 获取表单中多个同名input元素值的代码
2016/03/25 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
javascript与cookie 的问题详解
2013/11/11 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
js数字转换为float,取N位小数
2014/02/08 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
js实现文字滚动效果
2016/03/03 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
js获取ip和地区
2017/03/10 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
Python中使用PIPE操作Linux管道
2015/02/04 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
对pandas的算术运算和数据对齐实例详解
2018/12/22 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
python中for in的用法详解
2020/04/17 Python
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
环保建议书300字
2014/05/14 职场文书
学校督导评估方案
2014/06/10 职场文书
中学生运动会通讯稿大全
2014/09/18 职场文书
上课说话检讨书500字
2014/11/01 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
详解Django的MVT设计模式
2021/04/29 Python