编写程序,获得用户输入的数值M和N,求M和N的最大公约数。请补充横线处代码。 def GreatCommonDivisor(a,b): if a>b: a,b=b,a r=1 while r!=0: ① a=b b=r return a m=eval(in

admin2019-08-30  68

问题 编写程序,获得用户输入的数值M和N,求M和N的最大公约数。请补充横线处代码。
def GreatCommonDivisor(a,b):
if a>b:
a,b=b,a
r=1
while r!=0:

a=b
b=r
return a
m=eval(input(’’’’))
n=eval(input(’’’’))
print()

选项

答案def GreatCommonDivisor(a,b): if a>b: a,b=b,a r=1 while r!=0: r=a%b a=b b=r return a m=eval(input(’’’’)) n=eval(input(’’’’)) print(GreatCommonDivisor(m,n))

解析 这是一道基本编程题,①考查求两个数的最大公约数算法(欧几里得算法,别称辗转相除法),②考查函数的调用。
欧几里得算法是用来求两个正整数的最大公约数的算法,由古希腊数学家欧几里得在其著作《The Elements》中最早进行了描述。算法描述如下:
(1)若a(2)求a除以b的余数并赋值给r,将b赋值给a,将r赋值给b;
(3)判断r是否等于0,如果r等于0,则返回a,a当前的值为所求的最大公约数;如果r不等于0,继续执行第(2)步。
下面给出参考程序:
def GreatCommonDivisor(a,b):
if a>b:
a,b=b,a
r=1
while r!=0:
r=a%b
a=b
b=r
return a
m=eval(input(’’’’))
n=eval(input(’’’’))
print(GreatCommonDivisor(m,n))
函数调用和执行的一般形式如下:
<函数名>(<参数列表>)
函数调用是运行函数代码的方式,在参数列表中给出要传入函数内部的参数,这类参数称为实际参数,简称为实参。实际参数替换定义中的参数。函数调用后得到返回值。本题中m、n是实参,a、b是形参。
转载请注明原文地址:https://kaotiyun.com/show/pW6p777K
0

最新回复(0)