Python基于辗转相除法求解最大公约数的方法示例

这篇文章主要介绍了python基于辗转相除法求解最大公约数的方法,结合实例形式分析了python使用辗转相除法求解最大公约数的实现方法与优化操作技巧,需要的朋友可以参考下

本文实例讲述了Python基于辗转相除法求解最大公约数的方法。分享给大家供大家参考,具体如下:

之前总结过一次高德纳TAOCP中的最大公约数求解,其实课后题中的算法修改要求实现的是辗转相除法求解最大公约数。

这个题目我最初的理解理解错了,自然也没有做出标准答案。现在按照标准答案的解答写一下相应的代码实现:

# -*- coding:utf-8 -*-#! python2def MaxCommpisor(m,n):  while m * n != 0:    m = m % n    if m == 0:      return n    else:      n = n % m      if n == 0:        return mprint(MaxCommpisor(55,120))

登录后复制

立即学习“Python免费学习笔记(深入)”;

程序的执行结果:

Python基于辗转相除法求解最大公约数的方法示例

交换一下两个数字的位置,代码如下:

# -*- coding:utf-8 -*-#! python2def MaxCommpisor(m,n):  while m * n != 0:    m = m % n    if m == 0:      return n    else:      n = n % m      if n == 0:        return mprint(MaxCommpisor(120,55))

登录后复制

立即学习“Python免费学习笔记(深入)”;

程序的执行结果:

Python基于辗转相除法求解最大公约数的方法示例

题目提示中提到了会降低效率,通过上面的代码来看,效率的损失应该是在除法以及判断上。在此,把之前算法的代码拿过来对比一下:

def CommDevisor(m,n):  r = m % n  while r != 0:    m = n    n = r    r = m % n  return nprint(CommDevisor(120,25))

登录后复制

立即学习“Python免费学习笔记(深入)”;

运行结果:

Python基于辗转相除法求解最大公约数的方法示例

新算法在循环中,多了一个除法以及比较操作。其实,比较的效率还是不错的,但是除法的运算会导致效率的降低。

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

相关推荐:

php计算两个整数的最大公约数常用算法小结_PHP教程

使用Python求解最大公约数的实现方法

立即学习“Python免费学习笔记(深入)”;

立即学习“Python免费学习笔记(深入)”;

以上就是Python基于辗转相除法求解最大公约数的方法示例的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2264936.html

(0)
上一篇 2025年2月27日 08:27:46
下一篇 2025年2月27日 08:28:07

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 使用Python设计一个代码统计工具

    这篇文章主要介绍了使用python设计一个代码统计工具的相关资料,包括文件个数,代码行数,注释行数,空行行数。感兴趣的朋友跟随脚本之家小编一起看看吧 问题 设计一个程序,用于统计一个项目中的代码行数,包括文件个数,代码行数,注释行数,空行行…

    编程技术 2025年2月27日
    200
  • python中返回矩阵的行列方法

    下面就为大家分享一篇python中返回矩阵的行列方法,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧 实例如下所示: # TODO 返回矩阵的行数和列数def shape(M):  return len(M),len(M[0])登录…

    编程技术 2025年2月27日
    200
  • Python中str.format()详解_python

    本文主要给大家详细介绍的是python编程中str.format()的基本语法和高级用法,非常的详细,并附有示例,希望大家能够喜欢 1. str.format 的引入 在 Python 中,我们可以使用 + 来连接字符串,在简单情况下这种方…

    编程技术 2025年2月27日
    200
  • 详解Python中for循环的使用_python

    这篇文章主要介绍了python中for循环的使用,来自于ibm官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 “探索 Python,第 5 部分:用 Python 编程” 一文讨论了 if 语句和 while 循环,讨论了…

    编程技术 2025年2月27日
    200
  • Python中给List添加元素的4种方法分享_python

    这篇文章主要介绍了python中给list添加元素的4种方法分享,本文讲解了append()、extend()、insert()、加号等4个方法,并给出了操作实例,需要的朋友可以参考下 List 是 Python 中常用的数据类型,它一个有…

    编程技术 2025年2月27日
    200
  • python创建列表和向列表添加元素的实现方法_python

    下面就为大家分享一篇python创建列表和向列表添加元素的实现方法,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧 今天的学习内容是python中的列表的相关内容。 一.创建列表 1.创建一个普通列表 >>> ta…

    编程技术 2025年2月27日
    200
  • 三种Python操作MySQL数据库的方法

    这篇文章主要介绍了三种Python操作MySQL数据库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 1. mysqldb 的使用 (1)  什么是MySQLdb?   MySQLdb 是用于 Pytho…

    2025年2月27日
    200
  • 详解关于Python中文件的读取和写入

    这篇文章主要介绍了详解关于Python中文件的读取和写入,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为’pi_digits.txt’的文本文件…

    编程技术 2025年2月27日
    200
  • Python之包管理工具—pip的安装使用指南

    这篇文章主要介绍了Python之包管理工具—pip的安装使用指南,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 【Preface】 python有两个著名的包管理工具easy_install.py和pip。在p…

    2025年2月27日
    200
  • Python实现封装MySQLdb基本操作类

    这篇文章主要介绍了Python实现封装MySQLdb基本操作类,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 # -*- coding:utf-8 -*-import MySQLdbimport datetim…

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论