매일프로그래밍

N번째 피보나치 수 구하기

JongSeok_12 2019. 11. 21. 14:27

" target="_blank" rel="noopener" data-mce-href="http://">http://

불러오는 중입니다...
n = int(input())
a = 0
b = 1
count = 2
while count < n :
    if a == n :
        print(a)
        break
    elif b == n :
        print(b)
        break

    a = a + b
    count += 1
    if count == n :
        print(a)
    b = b + a
    count += 1
    if count == n :
        print(b)



    

피보나치 수를 보니 일정한 규칙이 있었음 

0과 1로 시작해서 앞의 수와 뒤의 수를 계속 더해 나가는 것

이럴 경우 그렇다면 0과 1을 변수에 담고 계속해서 변수의 값을 증가시키면서 카운트를 한다면 n번째의 자리수를

구할수 있다고 생각

처음 0 과 1은 변수의 초기값으로 할당 했기 때문에 1번째와 2번째 자리수는 생략 하며 만약

1번, 2번 째 자리수가 입력된다면 각 변수의 값 출력하고 반복문 탈출

이제 부터 자리수를 하나씩 더할 때 마다 count +1 을 하면서 n의 자리수와 일치할 경우 해당 숫자를 보여주고 

반복문 종료