#L4313. ROIR 2023 Day1」斐波那契乘积

    ID: 3670 传统题 1000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数论动态规划斐波那契数列递归与记忆化剪枝优化

ROIR 2023 Day1」斐波那契乘积

题目描述

译自 ROI Regional 2023 Day1 T2. Произведение Фибоначчи

我们知道,斐波那契数列定义如下:F0=1F_0=1F1=1F_1=1Fn=Fn2+Fn1F_n=F_{n-2}+F_{n-1}。斐波那契数列的前几项是:111122335588131321213434\ldots

给定一个自然数nn。需要计算有多少种方法可以将其表示为多个大于11的斐波那契数的乘积。

输入格式

输入包含多组数据。第一行包含一个整数tt1t501 \le t \le 50),表示输入数据组数。

接下来的tt行中,每行包含一个整数nn2n10182 \leq n \leq 10^{18})。

输出格式

对于每组输入数据,输出一个整数,表示表示方法的数量。

样例

输入

55

22

77

88

4040

6464

输出

11

00

22

22

33

在样例中:

数字22只能表示为2=22=2

数字77不能表示为斐波那契数的乘积;

数字88有两种表示方法:8=2228=2 \cdot 2 \cdot 28=88=8

数字4040有两种表示方法:40=222540=2 \cdot 2 \cdot 2 \cdot 540=5840=5 \cdot 8

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制 子任务依赖
11 1515 2n1002 \leq n \leq 100
22 1717 2n1052 \leq n \leq 10^5 11
33 99 n=2kn=2^k对于某个kk
44 3838 2n1092 \leq n \leq 10^9 1122
55 2121 2n10182 \leq n \leq 10^{18} 11~44