만드는 중입니다

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

피보나치 곱

면접 대비

시간 제한1초메모리 제한1024 MB

요약
주어진 n을 1보다 큰 피보나치 수들의 곱으로 나타내는 방법의 수를 셉니다. 곱하는 순서는 구분하지 않습니다.
난이도

보통10점 중 5점

유형
백트래킹, 재귀, 수학
정답자
아직 제출이 없습니다

문제

피보나치 수열은 다음과 같이 정의된다: F0=1F_0 = 1, F1=1F_1 = 1, Fn=Fn−2+Fn−1F_n = F_{n-2} + F_{n-1}. 피보나치 수열은 1,1,2,3,5,8,13,21,34,…1, 1, 2, 3, 5, 8, 13, 21, 34, \dots로 시작한다.

자연수 nn이 주어진다. nn을 1보다 큰 피보나치 수의 곱으로 나타내는 방법의 수를 구하라.

입력

첫 줄에 테스트 케이스의 개수 tt가 주어진다 (1≤t≤501 \le t \le 50). 다음 tt개 줄에는 각각 정수 nn이 하나씩 주어진다 (2≤n≤10182 \le n \le 10^{18}).

출력

각 테스트 케이스에 대해 방법의 수를 한 줄에 하나씩 출력한다.

힌트

예시에서 2는 2=22 = 2로 한 가지 방법으로만 표현된다. 7은 피보나치 수의 곱으로 나타낼 수 없다. 8은 8=2×2×28 = 2 \times 2 \times 2와 8=88 = 8로 두 가지 방법으로 표현된다. 40은 40=2×2×2×540 = 2 \times 2 \times 2 \times 5와 40=5×840 = 5 \times 8로 두 가지 방법으로 표현된다.

예제1

  1. 예제 1

    입력
    5
    2
    7
    8
    40
    64
    
    예상 출력
    1
    0
    2
    2
    3