만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

바이러스 확산

면접 대비

시간 제한2초메모리 제한512 MB

요약
여러 시간 값을 -1이 나올 때까지 읽고, 각 값 X에 대해 피보나치 수 a(X)를 'Hour X: Y cow(s) affected' 형식으로 출력한다.
난이도

쉬움10점 중 3점

유형
수학, 동적 계획법, 구현, 재귀
정답자
아직 제출이 없습니다

문제

수의 당국이 새로 발견된 소 질병의 확산을 보고했다. 발병한 소는 모두 업계 보호를 위해 안락사되었다. 발병 후 8시간, 9시간, 10시간이 지났을 때 누적 발병 두수는 각각 21마리, 34마리, 55마리였다.

발병 두수는 피보나치 수열을 따른다. a(1)=1a(1) = 1, a(2)=1a(2) = 1이며, n≥3n \ge 3인 모든 nn에 대해 a(n)=a(n−1)+a(n−2)a(n) = a(n-1) + a(n-2)이다. 주어진 시간이 XX일 때 안락사 대상 누적 두수 a(X)a(X)를 구하는 프로그램을 작성하시오.

입력

입력은 여러 줄로 이루어진다. 각 줄에는 시간을 나타내는 490 이하의 양의 정수가 하나씩 주어진다. 마지막 줄의 -1은 입력의 끝을 나타내며, 이 줄은 처리하지 않는다.

출력

각 입력값마다 한 줄씩 Hour X: Y cow(s) affected 형식으로 출력한다. 여기서 X는 입력된 시간이고, Y는 해당 시간의 누적 발병 두수이다.

예제1

  1. 예제 1

    입력
    1
    4
    6
    11
    -1
    
    예상 출력
    Hour 1: 1 cow(s) affected
    Hour 4: 3 cow(s) affected
    Hour 6: 8 cow(s) affected
    Hour 11: 89 cow(s) affected