๋ฌธ์
๋ฌธ์
๋ค์ ์์ค๋ N๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ๊ตฌํ๋ C++ ํจ์์ด๋ค.
fibonacci(3)
์ ํธ์ถํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ผ์ด ์ผ์ด๋๋ค.
fibonacci(3)
์fibonacci(2)
์fibonacci(1)
(์ฒซ ๋ฒ์งธ ํธ์ถ)์ ํธ์ถํ๋ค.fibonacci(2)
๋fibonacci(1)
(๋ ๋ฒ์งธ ํธ์ถ)๊ณผfibonacci(0)
์ ํธ์ถํ๋ค.- ๋ ๋ฒ์งธ ํธ์ถํ
fibonacci(1)
์ 1์ ์ถ๋ ฅํ๊ณ 1์ ๋ฆฌํดํ๋ค. fibonacci(0)
์ 0์ ์ถ๋ ฅํ๊ณ , 0์ ๋ฆฌํดํ๋ค.fibonacci(2)
๋fibonacci(1)
๊ณผfibonacci(0)
์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ณ , 1์ ๋ฆฌํดํ๋ค.- ์ฒซ ๋ฒ์งธ ํธ์ถํ
fibonacci(1)
์ 1์ ์ถ๋ ฅํ๊ณ , 1์ ๋ฆฌํดํ๋ค. fibonacci(3)
์fibonacci(2)
์fibonacci(1)
์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ณ , 2๋ฅผ ๋ฆฌํดํ๋ค.
1์ 2๋ฒ ์ถ๋ ฅ๋๊ณ , 0์ 1๋ฒ ์ถ๋ ฅ๋๋ค. N์ด ์ฃผ์ด์ก์ ๋, fibonacci(N)
์ ํธ์ถํ์ ๋, 0๊ณผ 1์ด ๊ฐ๊ฐ ๋ช ๋ฒ ์ถ๋ ฅ๋๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , N์ด ์ฃผ์ด์ง๋ค. N์ 40๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์ ๋๋ 0์ด๋ค.
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค 0์ด ์ถ๋ ฅ๋๋ ํ์์ 1์ด ์ถ๋ ฅ๋๋ ํ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
3 0 1 3
์์ ์ถ๋ ฅ 1
1 0 0 1 1 2
ํ์ด๊ณผ์
1.๊ท์น
- ํผ๋ณด๋์น ์์ด์ N๋ฒ์งธ ๊ฐ์ด, 0๊ณผ 1์ ๊ฐ๊ฐ ๋ช ๋ฒ ์ถ๋ ฅํ๋์ง๋ฅผ ๊ตฌํฉ๋๋ค.
2.์์
fibonacci(N)์ ์ค๋ช ์ ๋ณด๋ฉด, ๊ฒฐ๊ตญ fibo[n]์ 0,1 ํ์ = fibo[n-1]์์ 0,1์ ํ์ + fibo[n-2]์์ 0,1์ ํ์์ธ ๊ฒ์ ์ ์ถํด๋ผ ์ ์์ต๋๋ค.
์๋ฅผ๋ค์ด,
fibonacci(3)์ 0,1 ํ์ = fibonacci(2)์์์ 0,1์ ํ์ + fibonacci(1)์์ 0,1์ ํ์์ธ๋ฐ,
fibonacci(2)์ 0,1 ํ์ = fibonacci(1)[0,1] + fibonacci(0)[1,0] = [1,1]
fibonacci(1)์ 0,1 ํ์ = [0,1]
์ด๋ฏ๋ก,
fibonacci(3) = [1,1] + [0,1] = 1,2 ๊ฐ ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
3.์ฝ๋
'๐ค PS(Problem Solving) > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/c++] 11652๋ฒ - ์นด๋ (0) | 2019.08.02 |
---|---|
[๋ฐฑ์ค/c++] 10989๋ฒ - ์ ์ ๋ ฌํ๊ธฐ3 (0) | 2019.07.30 |
[๋ฐฑ์ค/c++] 10825๋ฒ - ๊ตญ์์ (0) | 2019.07.30 |
[๋ฐฑ์ค/c++] 10814๋ฒ - ๋์ด์ ์ ๋ ฌ (0) | 2019.07.28 |
[๋ฐฑ์ค/c++] 11651๋ฒ - ์ขํ ์ ๋ ฌํ๊ธฐ2 (0) | 2019.07.25 |