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 11 Python
解决Python中字符串和数字拼接报错的方法
Oct 23 Python
python中ASCII码和字符的转换方法
Jul 09 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
Python csv模块使用方法代码实例
Aug 29 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
Mar 06 Python
Python切割图片成九宫格的示例代码
Mar 10 Python
学习Python爬虫的几点建议
Aug 05 Python
python中openpyxl和xlsxwriter对Excel的操作方法
Mar 01 Python
教你用Python爬取英雄联盟皮肤原画
Jun 13 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乱码问题
2012/03/25 PHP
PHP抽象类 介绍
2012/06/13 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
基于jquery实现等比缩放图片
2014/12/03 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
python远程登录代码
2008/04/29 Python
python制作花瓣网美女图片爬虫
2015/10/28 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
2016/06/06 Python
python实现折半查找和归并排序算法
2017/04/14 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
Django框架自定义session处理操作示例
2019/05/27 Python
python实现超市商品销售管理系统
2019/10/25 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
2020/12/10 Python
介绍一下.net和Java的特点和区别
2012/09/26 面试题
护理学毕业生自荐信
2013/10/02 职场文书
个人实用简单的自我评价
2013/10/19 职场文书
学院领导推荐信
2013/10/30 职场文书
施工资料员岗位职责
2014/01/06 职场文书
遗体告别仪式答谢词
2014/01/23 职场文书
酒店中秋节活动方案
2014/01/31 职场文书
民生工程实施方案
2014/03/22 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
本科生求职信
2014/06/17 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
国际贸易毕业生求职信
2014/07/20 职场文书
夫妻双方自愿离婚协议书
2014/10/24 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏