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实现方法
Nov 18 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
Apr 18 Python
对python遍历文件夹中的所有jpg文件的实例详解
Dec 08 Python
python使用PIL模块获取图片像素点的方法
Jan 08 Python
Tensorflow分类器项目自定义数据读入的实现
Feb 05 Python
Django中自定义admin Xadmin的实现代码
Aug 09 Python
用ldap作为django后端用户登录验证的实现
Dec 07 Python
使用Python封装excel操作指南
Jan 29 Python
python 基于pygame实现俄罗斯方块
Mar 02 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 Python
利用Python实时获取steam特惠游戏数据
Jun 25 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
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
JavaScript获得url查询参数的方法
2015/07/02 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
2018/10/25 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
9个JavaScript日常开发小技巧
2020/10/06 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
python进程类subprocess的一些操作方法例子
2014/11/22 Python
python WindowsError的错误代码详解
2017/07/23 Python
Python命令行解析模块详解
2018/02/01 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
django的ORM操作 增加和查询
2019/07/26 Python
python urllib爬虫模块使用解析
2019/09/05 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
Django如何重置migration的几种情景
2021/02/24 Python
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
举例说明类变量和实例变量的区别
2016/06/30 面试题
实验室标语
2014/06/21 职场文书
2014年乡镇工会工作总结
2014/12/02 职场文书
银行给客户的感谢信
2015/01/23 职场文书
高中班长竞选稿
2015/11/20 职场文书
小学班主任培训心得体会
2016/01/07 职场文书
安全责任协议书范本
2016/03/23 职场文书
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL