|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求最大公约数的时候我想用递归来做,但是这个代码 如果输入的是3,9 等明显可以被除断的输入的时候是没有问题的,
但是只要输入6,9 等无法被除断的输入的时候就会返回 None.
不知道代码哪个地方出错了,求大神指教 。由于今天无法再上传图片了,所以只好把代码贴出来了 。。
---------------------------------------------------------------------分割线 -----------------------------------------------------
这是代码部分:
def gcd(x,y): # 默认x > y
remain = x%y
if remain == 0:
return(y)
else:
gcd(y,remain)
while True:
number = []
str1 = input('请输入x,y,以","隔开:')
number = str1.split(',')
number_1 = int(number[0])
number_2 = int(number[1])
member_3 = 0
if number_1 < number_2:
number_3 = number_1
number_1 = number_2
number_2 = number_3
print(gcd(number_1,number_2))
---------------------------------------------------------------------分割线 -----------------------------------------------------
这是结果部分:
请输入x,y,以","隔开:3,9
3
请输入x,y,以","隔开:6,9
None
def gcd(x,y): # 默认x > y
remain = x%y
if remain == 0:
return(y)
else:
return gcd(y,remain)
while True:
number = []
str1 = input('请输入x,y,以","隔开:')
number = str1.split(',')
number_1 = int(number[0])
number_2 = int(number[1])
if number_1 < number_2:
number_3 = number_1
number_1 = number_2
number_2 = number_3
print(gcd(number_1,number_2))
|
|