本文实例讲述了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

通过验证,计算结果准确。

PS:这里再为大家推荐一款本站相关在线工具供大家参考:

在线最小公倍数/最大公约数计算工具:http://tools.jb51.net/jisuanqi/gbs_gys_calc

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

本文标题: Python实现的求解最大公约数算法示例

本文地址: http://www.cppcns.com/jiaoben/python/226945.html

python计算最大公约数函数_Python实现的求解最大公约数算法示例相关推荐

  1. python最大公约数计算的程序代码_Python实现的求解最大公约数算法示例

    本文实例讲述了Python实现的求解最大公约数算法.分享给大家供大家参考,具体如下: 使用Python求解两个数的最大公约数的时候用到了前面介绍的分解质因式.其实,我写分解质因式程序的时候就是因为发现 ...

  2. python最大公约数代码_Python实现的求解最大公约数算法示例

    本文实例讲述了python实现的求解最大公约数算法.分享给大家供大家参考,具体如下: 使用Python求解两个数的最大公约数的时候用到了前面介绍的分解质因式.其实,我写分解质因式程序的时候就是因为发现 ...

  3. python辗转相除法求最大公约数最小公倍数_Python基于辗转相除法求解最大公约数的方法示例...

    本文实例讲述了Python基于辗转相除法求解最大公约数的方法.分享给大家供大家参考,具体如下: 之前总结过一次高德纳TAOCP中的最大公约数求解,其实课后题中的算法修改要求实现的是辗转相除法求解最大公 ...

  4. 用python编写一个汉诺塔的移动函数_python实现的汉诺塔算法示例

    本文实例讲述了python实现的汉诺塔算法.分享给大家供大家参考,具体如下: 规则: 圆盘从下面开始按大小顺序重新摆放在另一根柱子上.并且规定 在小圆盘上不能放大圆盘 在三根柱子之间一次只能移动一个圆 ...

  5. python猴子选大王讲解_python 【猴子选大王】算法示例

    对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 今天来实现一个约瑟夫环算法,下面是一道新浪的面试题: m只猴子围坐成一个圈,按顺时针方向从1到m编 ...

  6. 基于python计算包含贝塞尔函数的积分

    基于python计算圆形回线瞬变电磁场 难点是贝塞尔函数的求解,目前python无该函数,但在scipy.special中,封装了如下Bessel函数. 这些不同类型的Bessel函数,具有相似的输入 ...

  7. python两个自定义函数_Python自定义函数实现求两个数最大公约数、最小公倍数示例...

    本文实例讲述了Python自定义函数实现求两个数最大公约数.最小公倍数.分享给大家供大家参考,具体如下: 1. 求最小公倍数的算法: 最小公倍数  =  两个整数的乘积 /  最大公约数 所以我们首先 ...

  8. python判断正负的函数_Python |在计算操作的函数内将负数转换为正数?

    我一直在寻找将负数转换为正数,我发现了一些东西,但没有成功.. 这是一个来自在线Python页面的练习,我正在学习Python. 我希望你明白这一点. 这是去洛杉矶旅行,我用功能计算钱,但现在有一个问 ...

  9. python计算复数的辐角_Python 自定义类中的函数和运算符重载

    如果你曾在字符串(str)对象上进行过 + 或 * 运算,你一定注意到它跟整数或浮点数对象的行为差异: >>> # 加法 >>> 1 + 2 3 >>& ...

最新文章

  1. 基于SSM实现网上购物商城系统
  2. 数据库相关概念以及简单SQL语句
  3. java 64位 默认分配内存大小_查看你机器中Java程序堆内存的默认初始大小和最大大小...
  4. AI:周志华老师文章《关于强人工智能》的阅读笔记以及感悟
  5. centos7 安装教程 图文流程安装后包含界面
  6. 从萌新玩家到游戏开发,IEG首位女专家的升级之路
  7. 学士学位非计算机专业考试真题,大学学位计算机考试习题
  8. Python 内置模块之 re
  9. 怎么安装aptdaemon模块_自己开发一个React Native 模块
  10. 【转】vmware 安装 osx 无法登录 appstore 的解决办法 (伪造smbios设备信息)
  11. python给内置函数重命名_python – 以Pandas Groupby函数重命名列名
  12. 裁剪左上角x左上角y填什么_少了立体裁剪,你的服装设计生涯还完整吗?
  13. linux查看进程占用内存与ps命令
  14. 一文学会如何使用Java的交互式编程环境 JShell
  15. “ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问” 问题解决办法
  16. 1. 认识kubernetes
  17. Web 开发项目的6个最佳Java框架
  18. 2023MyBatis全新面试题【30题】
  19. 灰度共生矩阵及matlab实现
  20. 【4G模块】中移物联ML302 + GD32F407 使用支持MQTT协议AT指令接入阿里云物联网平台

热门文章

  1. 官宣!多所高校,整体搬迁!
  2. 两教授吐槽:如今博士研究生的论文写作水平为何如此堪忧?
  3. 从金庸的武侠到数学的江湖
  4. 配置jupyter-pytorch深度学习环境
  5. c++11/14新特性学习
  6. “云上企业”是企业面向未来的战略选择
  7. 5分钟入门Lindorm SearchIndex
  8. 使用管控策略,设定多账号组织全局访问边界
  9. 全球加速产品 方便更多学生获得申请名校的机会
  10. 如何实现7*24小时灵活发布?阿里技术团队这么做