ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

 

2193๋ฒˆ: ์ด์นœ์ˆ˜

0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์ˆ˜๋ฅผ ์ด์ง„์ˆ˜๋ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์ง„์ˆ˜ ์ค‘ ํŠน๋ณ„ํ•œ ์„ฑ์งˆ์„ ๊ฐ–๋Š” ๊ฒƒ๋“ค์ด ์žˆ๋Š”๋ฐ, ์ด๋“ค์„ ์ด์นœ์ˆ˜(pinary number)๋ผ ํ•œ๋‹ค. ์ด์นœ์ˆ˜๋Š” ๋‹ค์Œ์˜ ์„ฑ์งˆ์„ ๋งŒ์กฑํ•œ๋‹ค. ์ด์นœ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š

www.acmicpc.net

 

๋ฌธ์ œ ํ’€์ด

 ์ž๋ฆฌ ์ˆ˜์˜ ์ฆ๊ฐ€์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ž๋ฆฌ ์ˆ˜ 1 2 3 4 5
  1 10 101 1000 10000
      100 1001 10001
        1010 10010
          10100
          10101

์ฆ‰, N์— ๋”ฐ๋ผ ๋งŒ์กฑํ•˜๋Š” ์ด์นœ์ˆ˜์˜ ๊ฒฝ์šฐ๋Š” f(n) = f(n - 1) + f(n - 2)๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๊ฐ„๋‹จํžˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ฝ”๋“œ

if __name__ == '__main__':
    n = int(input())
    a, b = 1, 1
    for _ in range(n - 1):
        a, b = b, a + b
    print(a)
728x90
๋ฐ˜์‘ํ˜•
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€