代码展示:
def callatz(num):
covers = list()
while num != 1:
if num%2 == 1:
num = (3*num+1)//2
covers.append(num)
else:
num = num//2
if num!=1:
covers.append(num)
return covers # num=3, covers=[5, 8, 4, 2]
if __name__ == "__main__":
# result = callatz(3)
# if len(result) != 0 :
# print(result)
K = eval(input())
data = list(map(eval,input().split()))
covers = set()
for num in data:
covers.update(set(callatz(num)))
result = set(data)
result -= covers
# print(result)
result=list(result)
result.sort(reverse=True)
result = list(map(str,result))
print(' '.join(result))
测评结果: