์ƒˆ์†Œ์‹

๐Ÿงฎ PS

์žฌ๊ท€ํ•จ์ˆ˜ (ํŒฉํ† ๋ฆฌ์–ผ, ํ”ผ๋ณด๋‚˜์น˜)

  • -

*์žฌ๊ท€ ํ•จ์ˆ˜

ํ•จ์ˆ˜๊ฐ€ ์ž๊ธฐ ์ž์‹ ์„ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜. (๋ฐ˜๋ณต๋ฌธ๊ณผ ๋น„์Šทํ•˜๋ฏ€๋กœ ๋ฌดํ•œ๋ฃจํ”„์— ๋น ์ง€์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ํƒˆ์ถœ ์กฐ๊ฑด์ด ํ•„์š”ํ•˜๋‹ค.)

 

*1๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ํ•ฉ

 

def n_sum(n):
	if n==1:
    	return 1
    return n + n_sum(n-1)

1๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ํ•ฉ์„ , ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ–ˆ์„๋•Œ์™€ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ์„๋•Œ์˜ ์ฐจ์ด์ ์ด ์žˆ๋‹ค.

๋ฐ˜๋ณต๋ฌธ (for~range)์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, 0๋ถ€ํ„ฐ n์„ ํ–ฅํ•ด๊ฐ€๋ฉฐ ์—ฐ์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— bottom-up ๋ฐฉ์‹

์žฌ๊ท€ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ๋Š” n๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ 0์„ ํ–ฅํ•˜์—ฌ ์—ฐ์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— top-down๋ฐฉ์‹์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

 

* ํŒฉํ† ๋ฆฌ์–ผ

ํŒฉํ† ๋ฆฌ์–ผ : n!  = 1*2*3........*n

def factorial(n):
    if n == 1 :
        return 1
    print(n)
    return n * n_sum(n-1)

1๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ํ•ฉ์—์„œ +๋งŒ *๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋ฉด ํŒฉํ† ๋ฆฌ์–ผ์„ ๊ตฌํ•˜๋Š” ์žฌ๊ท€ํ•จ์ˆ˜๊ฐ€ ๋œ๋‹ค. 

 

 

 

 

 

* ํ”ผ๋ณด๋‚˜์น˜ ์žฌ๊ท€ํ•จ์ˆ˜

n๋ฒˆ์งธ ์ˆ˜ : n-1๋ฒˆ์งธ์ˆ˜ + n-2๋ฒˆ์งธ ์ˆ˜

def fibo(n):
    if n<2 : 
        return n
    return fibo(n-1)  +fibo(n-2)

 

 

*ํ”ผ๋ณด๋‚˜์น˜ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ตฌํ˜„
n = int(input())

arr = [0,1,1]
if n < 3 : answer = arr[n] 
else:
    while(True):
        arr.append(sum(arr[-2:]))

        if len(arr)>n : 
            answer = arr[n]
            break

print(answer)
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.