Guidelines

반볡문과 μž¬κ·€ν•¨μˆ˜ 비ꡐ

νŒ©ν† λ¦¬μ–Όμ€ 일반적으둜 반볡문 λ˜λŠ” μž¬κ·€ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 계산할 수 μžˆμŠ΅λ‹ˆλ‹€. 두 방법은 λ™μΌν•œ κ²°κ³Όλ₯Ό μ œκ³΅ν•˜μ§€λ§Œ, λ‚΄λΆ€ κ΅¬ν˜„ 방식에 차이가 μžˆμŠ΅λ‹ˆλ‹€.


λ°˜λ³΅λ¬Έμ„ μ‚¬μš©ν•œ νŒ©ν† λ¦¬μ–Ό 계산

λ°˜λ³΅λ¬Έμ„ μ‚¬μš©ν•˜λŠ” 방식은 λ³€μˆ˜λ₯Ό μ΄ˆκΈ°ν™”ν•˜κ³ , 숫자λ₯Ό ν•˜λ‚˜μ”© κ°μ†Œμ‹œν‚€λ©° κ³±ν•˜λŠ” λ°©μ‹μœΌλ‘œ νŒ©ν† λ¦¬μ–Όμ„ κ³„μ‚°ν•©λ‹ˆλ‹€.

반볡문으둜 νŒ©ν† λ¦¬μ–Ό κ³„μ‚°ν•˜λŠ” μ˜ˆμ‹œ
def factorial_iterative(n): result = 1 for i in range(1, n + 1): result *= i return result print(factorial_iterative(5)) # 120

μž¬κ·€ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•œ νŒ©ν† λ¦¬μ–Ό 계산

μž¬κ·€ν•¨μˆ˜ 방식은 ν•¨μˆ˜κ°€ 자기 μžμ‹ μ„ ν˜ΈμΆœν•˜μ—¬ μž‘μ€ 문제둜 λ‚˜λˆ„κ³ , μ’…λ£Œ 쑰건에 λ„λ‹¬ν•˜λ©΄ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μž¬κ·€ν•¨μˆ˜λ‘œ νŒ©ν† λ¦¬μ–Ό 계산 μ˜ˆμ‹œ
def factorial_recursive(n): if n == 1: return 1 else: return n * factorial_recursive(n - 1) print(factorial_recursive(5)) # 120

두 λ°©λ²•μ˜ 차이점

  • λ©”λͺ¨λ¦¬ μ‚¬μš©: μž¬κ·€ν•¨μˆ˜λŠ” 자기 μžμ‹ μ„ κ³„μ†ν•΄μ„œ ν˜ΈμΆœν•˜κΈ° λ•Œλ¬Έμ— λ§Žμ€ λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 반면, λ°˜λ³΅λ¬Έμ€ λ©”λͺ¨λ¦¬ μ‚¬μš©μ΄ μ μŠ΅λ‹ˆλ‹€. μ»΄ν“¨ν„°μ˜ λ©”λͺ¨λ¦¬κ°€ ν•œμ •λ˜μ–΄ 있기 λ•Œλ¬Έμ— λ‹€μˆ˜μ˜ μž¬κ·€ ν˜ΈμΆœμ€ λ©”λͺ¨λ¦¬ λΆ€μ‘± 문제λ₯Ό μΌμœΌν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

  • 가독성: λ°˜λ³΅λ¬Έμ€ λ‹¨κ³„λ³„λ‘œ λͺ…ν™•ν•˜κ²Œ λ³΄μ—¬μ£Όμ–΄μ„œ μ΄ν•΄ν•˜κΈ° μ‰½μŠ΅λ‹ˆλ‹€. μž¬κ·€ν•¨μˆ˜λŠ” κ°„κ²°ν•˜κ³  μˆ˜ν•™μ μœΌλ‘œ λ³΄μ΄μ§€λ§Œ, ν•¨μˆ˜κ°€ 자기 μžμ‹ μ„ 계속 ν˜ΈμΆœν•˜λŠ” 방식이라 μ²˜μŒμ—λŠ” μ΄ν•΄ν•˜κΈ° μ–΄λ €μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€.

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result