本文实例讲述了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最大公约数代码_Python实现的求解最大公约数算法示例相关推荐

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

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

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

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

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

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

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

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

  5. python写排列组合_Python实现的简单排列组合算法示例

    本文实例讲述了Python实现的简单排列组合算法.分享给大家供大家参考,具体如下: 1.python语言简单.方便,其内部可以快速实现排列组合算法,下面做简单介绍 2.一个列表数据任意组合 主要是利用 ...

  6. python做万花筒代码_Python实现PS滤镜的万花筒效果示例

    本文实例讲述了Python实现PS滤镜的万花筒效果.分享给大家供大家参考,具体如下: 这里用 Python 实现 PS 的一种滤镜效果,称为万花筒.也是对图像做各种扭曲变换,最后图像呈现的效果就像从万 ...

  7. python微信红包代码_Python实现的微信红包提醒功能示例

    本文实例讲述了Python实现的微信红包提醒功能.分享给大家供大家参考,具体如下: #coding=utf-8 import itchat from itchat.content import TEX ...

  8. python数据统计代码_Python 数据的累加与统计的示例代码

    问题 你需要处理一个很大的数据集并需要计算数据总和或其他统计量. 解决方案 对于任何涉及到统计.时间序列以及其他相关技术的数据分析问题,都可以考虑使用 Pandas库 . 为了让你先体验下,下面是一个 ...

  9. python 排列组合速度_Python实现的简单排列组合算法示例

    本文实例讲述了Python实现的简单排列组合算法.分享给大家供大家参考,具体如下: 1.python语言简单.方便,其内部可以快速实现排列组合算法,下面做简单介绍 2.一个列表数据任意组合 主要是利用 ...

最新文章

  1. win10和win7游戏测试软件,是时候和Win7说再见了!Win10游戏性能最多领先50%
  2. 关于B站除夕夜被攻击
  3. Android Handler 流程解析
  4. 红茶一杯话Binder(ServiceManager篇)
  5. Avalonia跨平台入门第八篇之控件的拖放
  6. C#LeetCode刷题之#104-二叉树的最大深度​​​​​​​(Maximum Depth of Binary Tree)
  7. 分享2个第三方社会化分享按钮及分享工具
  8. 使用fieldset、label标签制作form表单
  9. HDU1465 不容易系列之一【递推】
  10. SQL Server 2008支持将数据导出为 insert into 的脚本
  11. 通达OA CRM扫描枪条码录入
  12. ISO /TS 22163:2017轨道交通行业质量管理体系简介及相关标准资料
  13. 【分形理论、分形维数、多重分形、Matlab程序等整理】
  14. 入门必看,51单片机学习三步走
  15. 【MySql】MySQL排序分页查询数据顺序错乱的原因和解决办法
  16. PXE+Kickstart无人值守安装系统
  17. VR+文旅景区结合VR主题乐园VR设备厂家
  18. 【抽象代数】素理想、极大理想、唯一析因环、主理想整环、欧几里得环
  19. 使用openGL,利用多边形填充的扫描线算法画出实心五边形
  20. 七夕种草“盐系妆”,get到重点了吗?

热门文章

  1. 智库直播回放 | 乡村振兴与数字经济
  2. 锦州技工计算机多媒体学校,锦州市渤海大学附属中专简介
  3. 带你学会linux下一些软件
  4. vue相关音乐播放器
  5. anki用HTML代码批量,使用 JavaScript 操作 HTML 批量制作 Anki 卡片
  6. 新来乍到,请多多包涵
  7. 计算机10大基础知识点(一)
  8. 称重仪表显示ol怎么解决_地磅称重仪表常见的故障及解决方法
  9. Android tools sample data: Make preview great again
  10. ROS(三)——发布者Publisher 和 订阅者Subscriber 的编程实现