Recursion
์ฌ๊ทํจ์๋ base case์ recursive case๋ก ๋๋ ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. recursive case๋ ๊ฐ์ ํํ์ ๋ ์์ ๋ถ๋ถ ๋ฌธ์ ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ํธ๋ case์ด๊ณ base case๋ ๋ ์์ ๋ถ๋ถ ๋ฌธ์ ๋ก ๋๋์ง ์๊ณ ๋ ๋ฐ๋ก ๋ต์ ์ ์ ์๋ ๊ฒฝ์ฐ์ด๋ค. ์ฌ๊ทํจ์์ ๋ฐ๋ณต๋ฌธ์ ์๋ก ์ ํ์ด ๊ฐ๋ฅํ๋ค.
ํผ๋ณด๋์น ์์ด
print("# n๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ๋ฆฌํด")
# 0 1 1 2 3 5 8 13 21 ...
def fib(n):
if n ==1 or n == 2: # base case
return 1
else: # recursive case
return fib(n-1) + fib(n-2)
# ํ
์คํธ: fib(1)๋ถํฐ fib(10)๊น์ง ์ถ๋ ฅ
for i in range(1, 11):
print(fib(i))ํฉ
print("# 1~10๊น์ง ํฉ๊ตฌํ๊ธฐ")
def triangle_number(n):
if n == 1: # base case
return 1
return n + triangle_number(n - 1) # recursive case
for i in range(1, 11):
print(triangle_number(i))๋ฆฌ์คํธ ๋ค์ง๊ธฐ
Last updated
Was this helpful?