재귀함수를 위한 값들을 설정하고 홀수이면 3*x+1를 실행하고 짝수이면 x//2를 실행한다.
def wu(x):
print(x)
if x == 1:
return 1
if x % 2 == 1:
return wu(3*x+1)
else:
return wu(x//2)
n = int(input())
wu(n)
1928번에서는 print를 처음에 위치하였다면 역순의 경우는 print를 마지막에 배치한다. 고로 print의 위치를 잘 고려하여 배치함으로써 원하는 결과를 획득할 수 있다.
def wu(x):
if x == 1:
return print(1)
elif x % 2 == 1:
wu(3*x+1)
else:
wu(x//2)
return print(x)
n = int(input())
wu(n)