python最大约数是_python – 找到最大的公约数(赋值错误,我迫切需要你的帮助)

我有一个作业(作业)如下:

Write a program which enters two positive integers a and b from the

keyboard. Also write a recursive function for determining the gcd

(greatest common divisor) of a and b using Euclid’s algorithm.

According to this algorithm if the first number is divisible by the

second one then thesecond one is the gcd. If this is not the case then

the gcd of the second number and the remainder of a=b has to be

determined. The result should be printed on the screen outside of the

function.

这是我的解决方案:

a=int(input("Enter the first number: "))

b=int(input("Enter the second number: "))

def GCDfinder(m,n):

z=abs(m-n)

if (m-n)==0:

return n

else:

return GCDfinder(z,min(m,n))

print (GCDfinder(a,b))

这个答案得到了50%.我认为分级的老师的助手不知道她做了什么.她的评论如下:

That is not the method described in the assignment. You should first

check if a%b==0 then return b. Or return gcd(b, a%b) Also check that

the input is positive and a>b

2-)绝对不需要检查> b并且也不需要检查输入是否为正,因为我使用了abs()

TA没有误导作业吗?还是我错了?

最佳答案 虽然你实现的确实是一个GCD查找器,但它不是Euclid的算法

这就是你所做的:

if the two numbers are equal

return either one as the GCD

else

return the GCD of the absolute difference between them and the smaller number

您的算法通过重复减法找到GCD.虽然这没有错,但肯定不是Euler的算法(虽然它很接近).

欧拉的算法确实:

if the smaller number perfectly divides the larger

return the smaller number as the GCD

else

return the GCD of

1. the remainder from dividing the bigger number by the smaller

2. the smaller number

因为Euclid的算法使用模数运算符,所以它会经历更少的步骤,而实际上计算的算法与算法相同.结果,它更有效率.

这是Euclid算法的一个实现:

def GCDfinder(a,b):

while b != 0:

a,b = b, a%b

return a

>>> GCDfinder(12,20)

4

>>> GCDfinder(17,20)

1

>>> GCDfinder(3,4)

1

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

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

相关文章

c#简单记事本应用程序的快捷方式_Windows 10七月更新又翻车,记事本没了

每一次微软更新,总是能引起一篇“哀嚎”,翻车实在太频繁了,让人又爱又恨。近日,微软在本月更新补丁推送上,进行了新的调整,让分预装的应用程序被悄然删除,这导致不少用户只能逐一重新安装。从目…

python我的世界给予物品指令_我的世界指令给予物品 我的世界指令给予物品是多少...

给予物品指令为 /give 人物id 物品id 数量,如果数量不填的话默认是64个。示例:/give AW fire_charge 64 给玩家AW 64个火焰弹。其他指令一览/nick ID 名称 -给某人改一个名 ID是加白名单的名字/backup -运行备份命令/fireball -发射一个火球(会破坏方块)…

db2 空值转换函数_Hive常见函数的使用

hive函数1.关系函数等值比较 语法&#xff1a;AB 如果表达式A和表达式B相等&#xff0c;则为TRUE&#xff1b;否则为FALSE不等值比较 <>语法&#xff1a;A <> B如果表达式A为null&#xff0c;或者表达式B为null&#xff0c;返回null&#xff1b;如果表达式A和表达式…

中级软件测试笔试题100精讲_汇集上千位软件测试精英面试笔试题,最全面的题型都在这!...

知己知彼&#xff0c;才能百战不殆测试员想要在竞争激烈的职场中拥有一席之地&#xff0c;就需要提前做好准备。前人栽树&#xff0c;后人乘凉一次面试就能入职自己心仪的公司&#xff0c;就需要通过“前人”积累的面试题来了解面试官的“套路”&#xff0c;通过不断的优化答案…

学考语言成绩c对高考有影响吗_三大影响!考生务必上心,最近正在进行的学考对升学很重要...

阅读关键词&#xff1a;【填报技巧】【新高考】近日(1月6-8日)&#xff0c;高中生们正在进行2021年1月普通高中学业水平合格性考试(也就是大家普遍说的“学考”&#xff0c;又称“合格性考试”)。学考成绩有哪些用途&#xff1f;跟高考录取到底有什么关系&#xff1f;……今天我…

三次握手和四次挥手图解_TCP三次握手和四次挥手详解

作者&#xff1a;雨点的名字来源&#xff1a;https://www.cnblogs.com/qdhxhz/p/8470997.htmlTCP有6种标示:SYN(建立联机) ACK(确认) PSH(传送) FIN(结束) RST(重置) URG(紧急)一、TCP三次握手第一次握手客户端向服务器发出连接请求报文&#xff0c;这时报文首部中的同部位SYN1…

ubuntu修改新增用户的目录_Linux 用户、用户组添加修改删除(ubuntu、centos)

一、LINUX(UBUNTU/CENTOS)用户添加删除修改1、建用户&#xff1a;adduser web #新建web用户useradd web #添加web 用户passwd web #给web用户设置密码useradd web -g admin -n -m #新建web用户并指定用户组为 admin用户组,并自动建立登录目录passwd web #给web 用户设置密码use…

读excel_基础 | Excel中单元格的引用方式,读这篇就够了!

最近推送了几个Excel中最难的函数&#xff0c;哀嚎遍野&#xff0c;太难了……所以今天我们来“从万丈高楼平地起”的平地讲起&#xff01;搞懂Excel单元格引用方式&#xff0c;是保证公式准确最最基本的条件&#xff01;单元格引用方式整体分三种&#xff1a;相对引用(A1)绝对…

天融信防火墙重置配置_天融信防火墙配置手册

天融信防火墙配置指南一、对象与规则现在大多防火墙都采用了面向对象的设计。针对对象的行为进行的快速识别处理&#xff0c;就是规则。比如&#xff1a;甲想到A城市B地点。由这个行为就可以制定一些规则进行约束&#xff0c;例如&#xff1a;1)用户身份识别&#xff0c;是不是…

32汇编语言程序说明_Linux 汇编语言学习--编译和链接

上次我们提到了汇编语言的两种格式&#xff0c;Intel 和 AT&T 格式&#xff0c;今天讲的是对应两种编译器的一些使用。我们知道&#xff0c;编译器就是一个将一种程序语言翻译成另外一种语言的程序。编译的过程其实共有5个流程&#xff1a;词法分析、语法分析、语义分析和中…

占用系统资源测试_高频性能测试面试题15道

1、解释常用的性能指标名称与具体含义性能测试 通过测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试。验证软件系统是否能够达到用户提出的性能指标&#xff0c;发现系统中存在的性能瓶颈并加以优化。性能指标分为两个方面&#xff1a;系统指标&#…

ensp1.3.00.100用哪个virtualbox_virtualBox使用 Ubuntu18.0.4

一、视图进入缩放模式&#xff0c;虚拟机上方菜单栏无法显示&#xff1f;热键c&#xff0c;恢复。 热键默认为右边的ctrl键。开启增强功能&#xff1f;打开虚拟机后&#xff0c;点击上方设备-->安装增强功能。虚拟机里面会出现识别到光盘。先挂载光盘到指定路径&#xff1a;…

动态ram依靠什么存储信息_处理器内存系统1(ROM,RAM,数据存储顺序)

本篇文章主要介绍处理器中存储器&#xff1a;ROM和RAM以及数据在内存中的存储顺序&#xff1a;大/小端(Little/Big Endian)。只读存储器(ROM)ROM(Read Only Memory)用来存储和保存数据。ROM数据不能随意更新&#xff0c;但是在任何时候都可以读取。即使是断电&#xff0c;ROM也…

python中row的用法_关于Python中openpyxl使用iter_rows()的方法

之前已经对iter函数的用法有过讲解,记忆遗忘的小伙伴可以重新回顾一遍。今天就iter函数的拓展,讲讲openpyxl中导入iter_rows()的方法。 当我们使用以下代码: import openpyxl as op ms = op.load_workbook(mtest.xlsx) ws = ms.active op.worksheet.Worksheet.iter_rows() 然…

市直系统推荐市级以上表彰的_推荐市级以及以上教学方面表彰的细则

推荐市级以及以上教学方面表彰的细则为了客观、公正、合理地评价教师的德、才表现和工作实绩&#xff0c;用制度来激励、督促全体教职工提高政治和业务索质&#xff0c;认真履行好自身工作职责。避免人为因素&#xff0c;增强评优的透明度&#xff0c;有利于调动广大教职工工作…

react全局状态管理_react状态管理redux

Redux(上)结合阮老师的技术博客&#xff0c;将自己吸收到的内容做了个整理&#xff1a;曾经有人说过这样一句hua : 如果你不知道是否需要Redux&#xff0c;那就是不需要它。从组建层面考虑&#xff0c;什么样子的需要redux&#xff1b;某个组件的状态需要共享&#xff0c;某个状…

edges2shoes数据集下载_edges2cats

edges2cats是一款十分有趣味的生成猫咪的游戏&#xff0c;在这款游戏是以多种不同的图形相结合&#xff0c;来生成你所想要生成的画面&#xff0c;游戏的玩法非常的有趣&#xff0c;感兴趣的可以试玩哦&#xff01;edges2cats游戏怎么玩 玩法介绍首先清除画面&#xff0c;根据你…

单片机机器周期怎么计算公式_单片机定时器周期计算公式

定时器是单片机的重要功能模块之一&#xff0c;在检测、控制领域有广泛应用。定时器常用作定时时钟&#xff0c;以实现定时检测&#xff0c;定时响应、定时控制&#xff0c;并且可以产生ms宽的脉冲信号&#xff0c;驱动步进电机。定时和计数的最终功能都是通过计数实现&#xf…

mac 下mysql工具_mysql之工具的使用总结(mac版本)

13.mysql Mac终端操作12.MySql在Mac上的安装与配置详解&#xff1b;11.mac下安装mysql5.7.18&#xff0c;连接出现Access denied for user rootlocalhost (using password: YES)13.mysql Mac终端操作1.启动mysql &#xff1a;brew services start mysql2.登陆mysql : mysql -u…

sqoop同步时间戳到mysql_在sqoop导入中使用24小时时间戳

我想从使用自由格式查询的oracle导入数据&#xff0c;并且需要以24小时格式存储时间戳。在sqoop导入中使用24小时时间戳sqoop import --connect jdbc:oracle:thin:(server credntials) \--username ***** --password ***** \--query "select emp_uid, emp_name, salary, t…