๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ ํ์์ ๊ตฌํ ์ ์๋ค
๋ณด๋ฉด ์์๋๋ก
1 1 1 2 2 3 4 5 7 9 12 … ์ธ๋ฐ
3๋ถํฐ
3 = 1 + 2 = w(1) + w(5) = w(6)
4 = 1 + 3 = w(2) + w(6) = w(7)
5 = 1 + 4 = w(3) + w(7) = w(8)
7 = 2 + 7 = w(4) + w(8) = w(9)
9 = 2 + 7 = w(5) + w(9) = w(10)
12 = 3 + 9 = w(6) + w(10) = w(11)
์ธ ๊ฑธ ์ ์ ์๋ค
๊ฒฐ๊ตญ w(n) = w(n-1) + w(n-5)
๊ทผ๋ฐ ๋ t๋ฅผ ๋ฐ๊ณ t๋ฒ ๋ฐ๋ณตํด์ผ ํ๊ธฐ ๋๋ฌธ์
์ ๋ ฅ๊ฐ n์ด ๋ฏธ๋ฆฌ ๋ฐฐ์ด์ ๋ฃ์ด๋ ์๋ฅผ ๋์ด๊ฐ๋ฉด ๋งค๋ฒ ์๋ก ๊ตฌํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์๊ธฐ ๋๋ฌธ์
์ด์ ์ ์ ๋ ฅ๋ฐ์ n๋ณด๋ค ์์ ์๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด ๋ฐ๋ก ์ถ๋ ฅํ ์ ์๋๋ก ์กฐ๊ฑด๋ฌธ์ ์ถ๊ฐํ๋ค
1. n์ ์ ๋ ฅ๋ฐ๋๋ค
2. n์ด wave์ ๊ธธ์ด -1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด wave[n]์ ๋ฐ๋ก ์ถ๋ ฅํ๋ค
3. for๋ฌธ์ ํตํด wave[len(wave) = l]๋ถํฐ wave[n]๊น์ง ์ถ๊ฐํ๋ค
4. wave[n]์ ์ถ๋ ฅํ๋ค
# 9461.py
t = int(input())
wave = [0, 1, 1, 1, 2, 2, 3, 4, 5, 7, 9]
for i in range(t):
n = int(input())
if n <= len(wave) - 1:
print(wave[n])
else:
for l in range(len(wave), n+1):
wave.append(wave[l-1] + wave[l-5])
print(wave[n])