https://www.acmicpc.net/problem/1003
1003๋ฒ: ํผ๋ณด๋์น ํจ์
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค 0์ด ์ถ๋ ฅ๋๋ ํ์์ 1์ด ์ถ๋ ฅ๋๋ ํ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค.
www.acmicpc.net
์ฒ์ ์ฝ๋ - ๊ฑ ๋ ๋ค ๊ณ์ฐ..
๋น์ฐํ ์๊ฐ ์ด๊ณผ ๋ ์ค ์์์
def fib(n):
d = [0] * (n + 1)
if n == 0:
count[0] += 1
return 1
if n == 1:
count[1] += 1
return 1
d[n] = fib(n - 1) + fib(n - 2)
return d[n]
t = int(input())
for i in range(t):
n = int(input())
count = [0, 0]
fib(n)
print(count[0], count[1])
๊ท์น์ ์ฐพ์๋ค
ํผ๋ณด๋์น๊ฐ fib(n) = fib(n-1) + fib(n-2) ๋๊น
์ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํด์ ๋ถ๋ฌ์ค๋ฉด ๋๋ค
d = [[0, 0] for _ in range(41)]
d[0] = [1, 0]
d[1] = [0, 1]
for i in range(2, 41):
d[i][0] = d[i-1][0] + d[i-2][0]
d[i][1] = d[i-1][1] + d[i-2][1]
t = int(input())
for i in range(t):
n = int(input())
print(d[n][0], d[n][1])
n์ ๋ฒ์๊ฐ 40๊น์ง๋ฐ์ ์ ๋๊ธฐ ๋๋ฌธ์ ํ ์คํธ ์ผ์ด์ค๋ง๋ค ๊ฐ์ ๊ณ์ฐํ์ง ์๊ณ
์ฒ์์ ๋ฏธ๋ฆฌ 0~40๊น์ง์ ๊ณ์ฐ์ ๋ชจ๋ ๋๋ด๋๊ณ ๊ฒฐ๊ณผ๋ฅผ ์คํํจ
'๐ค > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 9461: ํ๋๋ฐ ์์ด (Python) (0) | 2022.03.29 |
---|---|
๋ฐฑ์ค 1904: 01ํ์ผ (Python) (0) | 2022.03.29 |
๋ฐฑ์ค 1300: K๋ฒ์งธ ์ (Python) (0) | 2022.02.23 |
๋ฐฑ์ค 2110: ๊ณต์ ๊ธฐ ์ค์น (Python) (0) | 2022.02.14 |
๋ฐฑ์ค 2805: ๋๋ฌด ์๋ฅด๊ธฐ (Python) (0) | 2022.02.12 |