#544. 202312中国电子学会Python编程等级测试四级(编程题3)
202312中国电子学会Python编程等级测试四级(编程题3)
数学证明问题
上世纪中期,校园里流行一种数学游戏,其规则十分简单:任意取一个自然数,若它是奇数,则把它乘以3加上1,若它是偶数,则除以2。按此规则进行下去,经过若干步的计算就能得到自然数1。这个数学现象至今都没有得到完全的证明,但是可以编程来验证它的正确性。 实现上述功能的部分程序代码如下,请补充完成空白处的内容。
数学证明问题
上世纪中期,校园里流行一种数学游戏,其规则十分简单:任意取一个自然数,若它是奇数,则把它乘以3加上1,若它是偶数,则除以2。按此规则进行下去,经过若干步的计算就能得到自然数1。这个数学现象至今都没有得到完全的证明,但是可以编程来验证它的正确性。
实现上述功能的部分程序代码如下,请补充完成空白处的内容。
step = 1
midlist = []
def subwork(n):
global step
if n == 1:
return step
elif n % 2 == 0:
n = ①
midlist. append(n)
step += 1
subwork( ② )
return step
elif n % 2 != 0:
n = ③
midlist. ④
step += 1
subwork( ⑤ )
return step
cur_num = int(input("请输入一个数字:"))
subwork(cur_num)
print(midlist)
print(step)
说明
复制代码,提交代码