๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_17_์ฌ๊ท ํจ์ ๋ณธ๋ฌธ
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_17_์ฌ๊ท ํจ์
์ง์ง์ํ์นด 2022. 2. 2. 00:47220202 ์์ฑ
<๋ณธ ๋ธ๋ก๊ทธ๋ ใ์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ฝ๋ฉ ํ ์คํธ๋คใ ์ youtube๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค>
https://www.youtube.com/watch?v=gFpKGWdEE5g&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=17
1. ์ฌ๊ทํจ์ (Recursive Function)
: ์๊ธฐ ์์ ์ ๋ค์ ํธ์ถํ๋ ํจ์
: ์ฌ๊ท ํจ์๋ฅผ ํธ์ถํฉ๋๋ค -> ๋ฌธ์์ด์ ๋ฌดํํ ์ถ๋ ฅ
: ์ด๋์ ๋ ์ถ๋ ฅํ๋ค๊ฐ ์ด๊ณผ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ
: ๋ชจ๋ ์ฌ๊ท ํจ์๋ ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ์ฌ ๋์ผํ ๊ธฐ๋ฅ ๊ตฌํ ๊ฐ๋ฅ!
: ํจ์๋ฅผ ์ฐ์์ ์ผ๋ก ํธ์ถํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ด๋ถ์ ์คํ ํ๋ ์์ ์์
-> ์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ ์ฌ๊ท ํจ์ ์ด์ฉํ๊ธฐ๋ ํจ!
ex) ์ฌ๊ทํจ์ -> error ์ด๊ณผ!
def recursive_function() :
print("์ฌ๊ท ํจ์ ํธ์ถ")
recursive_function()
recursive_function
ex) ์ข ๋ฃ ์กฐ๊ฑด ํฌํจํ ์ฌ๊ท ํจ์
: ์ฌ๊ท ํจ์์ ์ข ๋ฃ ์กฐ๊ฑด ๋ฐ๋์ ๋ช ์
: like ์คํ ์ฒ๋ผ
def recursive_function(i) :
if i == 100 :
return
print(i, "๋ฒ์งธ ์ฌ๊ท ํจ์์์", i+1, "๋ฒ์งธ ์ฌ๊ท ํจ์๋ฅผ ํธ์ถํฉ๋๋ค")
recursive_function(i+1)
print(i, "๋ฒ์งธ ์ฌ๊ท ํจ์๋ฅผ ์ข
๋ฃํฉ๋๋ค")
recursive_function(1)
2. ํฉํ ๋ฆฌ์ผ
: n! = 1 x 2 x ... x ( n-1 ) x n
: 0! ๊ณผ 1! ์ 1
# ๋จ์ ๋ฐ๋ณต
def factorial_iterative(n) :
result = 1
for i in range(1, n+1) :
result *= i
return result
# ์ฌ๊ท ํจ์
def factorial_recursive(n):
if n <= 1:
return 1
return n * factorial_recursive(n-1)
print("๋จ์ ๋ฐ๋ณต : ", factorial_iterative(5))
print("์ฌ๊ท ํจ์ : ", factorial_recursive(5))
3. ์ต๋ ๊ณต์ฝ์ (์ ํด๋ฆฌ๋ ํธ์ ๋ฒ)
: ๋ ๊ฐ์ ์์ฐ์์ ๋ํ ์ต๋ ๊ณต์ฝ์๋ฅผ ๊ตฌํ๊ธฐ
: ์ฌ๊ท ํจ์๋ก ๊ฐ๋ฅ
: ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ ์์ฐ์ A, B,์ ๋ํ์ฌ ( A > B ) A๋ฅผ B๋ก ๋๋ ๋๋จธ์ง๋ฅผ R
- A, B์ ์ต๋๊ณต์ฝ์๋ B์ R์ ์ต๋๊ณต์ฝ์์ ๊ฐ๋ค
๋จ๊ณ | A | B |
1 | 192 | 162 |
2 | (B) 162 | (๋๋จธ์ง) 30 |
3 | 30 | (๋๋จธ์ง) 12 |
4 | 12 | (๋๋จธ์ง) 6 |
5 | 6 | 0 |
def gcd(a, b) :
if a % b == 0:
return b
else :
return gcd(b, a%b)
print(gcd(154,22))
# 22
'๐ฆฅ ์ฝํ > ์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_19_BFS (0) | 2022.02.02 |
---|---|
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_18_DFS (0) | 2022.02.02 |
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_16_์คํ๊ณผ ํ (0) | 2022.02.02 |
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_15_๊ตฌํ ๋ฌธ์ ํ์ด (0) | 2022.01.31 |
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_14_๊ตฌํ (0) | 2022.01.31 |