公务员考试的数学题是变态!

92.任意取一个大于50的自然数,如果它是偶数,就除以2;如果它是奇数,就将它乘3之后再加1。这样反复运算,最终结果是多少?
A.0 B.1 C.2 D.3

题目太难,为了得到正确答案,我决定用python

 def cao(a):
...     if a%2==0:
...             a=a/2
...     else:
...             a=a*3+1
...     print("caoing")
...     print(a)
...     cao(a)
def kao(a)
    if a>50:
        cao(a)
   else:
       print("输入大于50的数字")

请原谅我,这一生唯一一次写了一个没有返回条件的递归,只能让python自己报层数过深的RecursionError: maximum recursion depth exceeded while calling a Python object
错误。
结果显示,这个过程会不断的循环下去:

1.0
caoing
4.0
caoing
2.0
caoing
1.0
caoing
4.0
caoing
2.0
caoing
1.0
caoing
4.0
caoing
2.0
caoing
1.0
caoing
4.0
caoing
2.0
caoing
1.0
caoing
4.0
caoing
2.0
caoing
1.0
caoing
4.0
caoing
……

请问答案是哪个?1还是2,这个数列没有极限,它会一直在1,2之间摆动下去,直到世界的尽头……

你可能感兴趣的:(公务员考试的数学题是变态!)