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实现计算倒数的方法
Jul 11 Python
基于python实现微信模板消息
Dec 21 Python
Python实现读取并保存文件的类
May 11 Python
Python 查看文件的编码格式方法
Dec 21 Python
python 字符串和整数的转换方法
Jun 25 Python
在python 不同时区之间的差值与转换方法
Jan 14 Python
Python中按值来获取指定的键
Mar 04 Python
flask 实现token机制的示例代码
Nov 07 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
python实现单张图像拼接与批量图片拼接
Mar 23 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
May 07 Python
自己搭建resnet18网络并加载torchvision自带权重的操作
May 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
linux php mysql数据库备份实现代码
2009/03/10 PHP
使用php来实现网络服务
2009/09/15 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
PHP实现的一致性Hash算法详解【分布式算法】
2018/03/31 PHP
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
node.js中的fs.readFile方法使用说明
2014/12/15 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
在Python下尝试多线程编程
2015/04/28 Python
Python基于DES算法加密解密实例
2015/06/03 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
python实现趣味图片字符化
2019/04/30 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
《胖乎乎的小手》教学反思
2014/02/26 职场文书
社区爱国卫生月活动总结
2014/06/30 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
店长岗位职责
2015/02/11 职场文书
外贸业务员岗位职责
2015/02/13 职场文书
Redis特殊数据类型bitmap位图
2022/06/01 Redis
利用Python脚本写端口扫描器socket,python-nmap
2022/07/23 Python