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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java传递实例_Java方法的参数传递机制实例详解

本文实例讲述了Java方法的参数传递机制。分享给大家供大家参考&#xff0c;具体如下&#xff1a;参数传递机制对于程序设计语言来说&#xff0c;一般方法(函数)的参数传递有两种&#xff1a;按值传递和按引用传递。按值传递意味着当将一个参数传递给一个方法时&#xff0c;方法…

低代码发展专访系列之六:低代码平台能解决业务重构的问题么?

编辑 | 曹芊芊 话题&#xff1a;低代码发展系列专访 前言&#xff1a;2019年开始&#xff0c;低代码爆火。有人认为它是第四代编程语言&#xff0c;有人认为它是开发模式的颠覆&#xff0c;也有人认为是企业管理模式的变革……有很多声音&#xff0c;社区讨论很热烈。CSDN随后展…

在 Dubbo3.0 上服务治理的实践

简介&#xff1a; Dubbo 3.0 是在云原生背景下诞生的&#xff0c;使用 Dubbo 构建的微服务遵循云原生思想&#xff0c;能更好的复用底层云原生基础设施、贴合云原生微服务架构。 Dubbo3.0 介绍 作者 | 十眠 自从 Apache Dubbo 在 2011 年开源以来&#xff0c;经过多年一众大…

java 方法保存变量_java – 在初始化对象或将其保存为变量并调用该方法时,调用方法的速度更快...

其实这两段代码会有一点区别&#xff1a;***** Class1.p8: invokespecial #4 // Method ClassA."":(Ljava/lang/String;)V11: astore_312: aload_313: invokevirtual #5 // Method ClassA.getValue:()D16: dstore_117: dload_118: dreturn}***** CLASS2.P8: invokesp…

redis 可视化工具_自荐一个有情怀的跨平台Redis可视化客户端工具——RedisViewer...

介绍在以往的文章中曾经介绍过几款Redis的可视化工具&#xff0c;在笔者的印象中&#xff0c;Redis至今没有一款非常专业的可视化管理客户端&#xff0c;就算之前介绍过的几款也是差强人意&#xff0c;有些时候满足不了我们的需求&#xff0c;而今天本文要介绍的是另一款值得推…

内核热补丁,真的安全么?

简介&#xff1a; Linux 内核函数的热替换“撞上”函数调用约定还靠谱吗&#xff1f; Linux 内核热补丁可以修复正在运行的 linux 内核&#xff0c;是一种维持线上稳定性不可缺少的措施&#xff0c;现在比较常见的比如 kpatch 和 livepatch。内核热补丁可以修复内核中正在运行的…

谁是 2021「IT 圈」年度 C 位?快来报名,彰显你的影响力!

2021年&#xff0c;数字化转型正磅礴兴起&#xff0c;大批传统企业正在拥抱数字化&#xff0c;云计算、大数据、AI、5G应用能力正在变成企业的核心竞争力&#xff1b;核心技术正在崛起&#xff0c;在操作系统、数据库&#xff0c;依靠开源的力量&#xff0c;众多开发者背后的行…

当Java遇上机密计算,又一段奇幻之旅开始了!

简介&#xff1a; 汪少军&#xff1a;如何为Java业务提供机密计算保护&#xff1f; 写在前面 在信息世界里&#xff0c;数据存在三种状态&#xff1a; 存储态、传输态和计算态。存储在数据库或磁盘中的数据属于存储状态&#xff0c;在网络中传输的数据属于传输状态&#xff0c…

电脑桌面归纳小窗口_电脑一分钟小技巧:如何将电脑设置为定时关机?

关注公众号&#xff0c;发现好教程如何设置电脑设置定时关机呢&#xff1f;哈哈哈&#xff0c;可能这个教程用处不大&#xff0c;不过每个教程都有它的用处&#xff0c;这个也算是教程哈&#xff01;有些小伙伴可能需要这个教程&#xff01;至于什么用处&#xff0c;我就不多说…

python django实例_python django 模板实例

操作系统MAC OS/LINUXwindows安装python3版本3自带virtualenv安装virtualenv: pip install virtualenv创建虚拟环境virtualenv env1进入虚拟环境mac os/linux下&#xff1a; source env1/bin/activatewindow下&#xff1a;source env1/Scripts/activate安装djangopip3 install …

时序数据库永远的难关 — 时间线膨胀(高基数 Cardinality)问题的解决方案

简介&#xff1a; 本文主要讨论 influxdb 在遇到写入的数据出现高基数 Cardinality 问题时&#xff0c;一些可行的解决方案。 作者 | 徐建伟 &#xff08;竹影&#xff09; 前序 随着移动端发展走向饱和&#xff0c;现在整个 IT 行业都期待着“万物互联”的物联网时代。在物…

中文巨量模型“源1.0”:模型结构与生成效果解析

浪潮人工智能研究院 “源 1.0”自 2021 年 9 月底发布以来收获了广泛的关注。其参数量达 2457 亿&#xff0c;超越美国 OpenAI 组织研发的 GPT-3。“源 1.0”在语言智能方面表现优异&#xff0c;获得中文语言理解评测基准 CLUE 榜单的零样本学习&#xff08;zero-shot&#xff…

对话李飞飞,揭秘国际体育赛事风“云”背后的黑科技

简介&#xff1a; 众所周知&#xff0c;在重大体育赛事中&#xff0c;如何提高运动员的成绩&#xff0c;如何改善观众的参与体验&#xff0c;是体育组织越来越重视的问题。那么阿里云技术是如何帮助解决这个问题的呢&#xff1f; 今天&#xff0c;我们有幸邀请到阿里巴巴集团副…

python中gmtime的hour错误_python中gmtime的hour错误_在Python中操作日期和时间之gmtime()方法的使用...

python中datetime怎么用广告总是在最精彩的时候出现&#xff0c;你总是在小编爱的最深的时候离开。 日期相关的操作 from datetime import datetime from datetime import timedelta DATE_FMT %Y-%m-%d DATETIME_FMT %Y-%m-%d %H:%M:%S DATE_US_FMT %d/%m/%Y 格式化常用的…

webview键盘自适应_黑爵毛茸茸机械键盘:感受来自治愈系的暖萌

随着近几年电竞业的火爆&#xff0c;特别是女性玩家的增多&#xff0c;越来越多的外设厂商推出了个性化定制的产品&#xff0c;比如符合女生群体的鼠标、键盘、显卡甚至主板等。今天为大家介绍的这款黑爵毛茸茸机械键盘&#xff0c;是黑爵Project C系列的第三款主题键盘&#x…

阿里云云效技术专家分享:云原生开发、调测及可靠发布解决方案

简介&#xff1a; 高效开发、稳健发布。 在云原生环境中&#xff0c;基于Kubernetes的工具链一方面简化了开发者的许多日常琐碎&#xff0c;另一方面也带来了许多新的概念和工作方式的改变。本篇文章将聚焦于云原生基础设施&#xff0c;谈谈如何在面向云原生的开发流程中&…

代码质量第 5 层 - 只是实现了功能

产品实现的功能是产品价值的体现形式。功能实现是基础。功能没有实现&#xff0c;其他方面做得再好也没有意义。那么&#xff0c;如何保证实现的功能覆盖了需求呢&#xff1f; 产品实现的功能是产品价值的体现形式。功能实现是基础。功能没有实现&#xff0c;其他方面做得再好也…

python os.walk不递归_python-os.walk目录递归

递归删除文件或目录&#xff1a;递归&#xff0c;os.walk删除目录&#xff0c;shutil.rmtree1 #-*- coding: UTF-8 -*-2 importos.path,sys,shutil34 path H:/test567 for root ,dirs ,files inos.walk(path):8 printroot,dirs,files9 for name indirs:10 if name svn:11 pri…

阿里巴巴 DevOps 工具体系

简介&#xff1a; 随着阿里巴巴多元化业务 20 多年的高速发展&#xff0c;技术体系经历了 web 时代、移动化时代、数据智能时代、云计算时代等多个重大变革。在这些变革中&#xff0c;开发者面对的技术体系、工具体系、知识体系也在不断进化。研发工具在其中起到了技术规模化和…

在java中使用quartz_如何在Java中使用Quartz Scheduler框架运行cron作业?

我在Java中使用Quartz Scheduler来运行cron作业 . 这是我第一次使用这个框架来运行cron作业&#xff0c;所以我有些困惑 .我正在关注这个tutorial以更好地理解如何使用Quartz框架 .我想每周和每个月都运行 JobA 所以我从基本的例子开始 -这是我到目前为止的例子 .public class …