x가 0일때 함수를 종료하고

x를 2로 나눈 나머지를 재귀함수를 나올때 출력한다


예를들어 11을 넣었으면


STEP1

DFS(11)

11//2 = 5


ㅡㅡㅡㅡ


STEP2

DFS(5)

5//2 = 2



ㅡㅡㅡㅡ


STEP3

DFS(2)

2//2 = 1



ㅡㅡㅡㅡ


STEP4

DFS(1)

1//2 = 0



ㅡㅡㅡㅡ


STEP5

return


재귀함수의 마지막이 종료되었으므로

함수가 종료되면서 사라지고

스택에서도 스택프레임이 소멸된다


그리고

스택의 그다음 반환주소의 함수가 실행되는데

이것을 백트래킹이라고 부른다


백트래킹

DFS(1)의 프린트문 1%2 = 1

DFS(2)의 프린트문 2%2 = 0

DFS(5)의 프린트문 5%2 = 1

DFS(11)의 프린트문 11%2 = 1

순서로 1011이 출력된다