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获取图片颜色信息的方法
Mar 18 Python
在centos7中分布式部署pyspider
May 03 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
Nov 30 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
python利用datetime模块计算程序运行时间问题
Feb 20 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
Mar 02 Python
PyQt5+python3+pycharm开发环境配置教程
Mar 24 Python
Python网页解析器使用实例详解
May 30 Python
Django实现微信小程序支付的示例代码
Sep 03 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
Oct 26 Python
Python-openpyxl表格读取写入的案例详解
Nov 02 Python
python各种excel写入方式的速度对比
Nov 10 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
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
php简单防盗链实现方法
2015/07/29 PHP
PHP面试常用算法(推荐)
2016/07/22 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
django+echart数据动态显示的例子
2019/08/12 Python
python监控nginx端口和进程状态
2019/09/06 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
贯彻学习两会心得体会范文
2014/03/17 职场文书
廉洁教育学习材料
2014/05/19 职场文书
村班子对照检查材料
2014/08/18 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
创业计划书之o2o水果店
2019/08/30 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书