1 def triangle_number(n):
2 if n == 1:
3 return 1
4 return triangle_number(n - 1) + n
5
6
7 # 테스트: triangle_number(1)부터 triangle_number(10) 까지 출력
8 for i in range(1, 11):
9 print(triangle_number(i))


차례대로 봤을때 9에서 호출하고

예를 들어 5가 넘어간다고 했을때 2거르고 4에 들어가서 재호출 되는건 알겠는데 따로 값을 더해주지도 않았는데 어떻게 1에서 부터 n까지의 삼각수가 출력이됨?

4에 5가 들어가면 (5 - 1) 즉 (4) 로 재호출 한다음에 계속 돌다가 결국 (1) 이 출력되야하는거아님?