问题 6357 --拆分(fib)

6357: 拆分(fib)

题目描述

在遗憾输掉决赛后,法泽决定学点数学来调整心情。 他学到了一种非常神奇的数列——斐波那契数列。 斐波那契数列是指形如{1,2,3,5...} 的数列,从第三项开始,每一项都是前两项的和,而我们将在这个数列里存在的数称为斐波那契数。 现在法泽注意到一个好玩的事情:他发现对于正整数n,它可以被写成若干个互不相同的斐波那契数之和,他将这一现象叫做“斐波那契表示”。 但是经过更加深入的了解以后,法泽又发现一个数可能会有多种不同的“斐波那契表示”,比如14=1+13=1+5+8=1+2+3+8。现在他想知道n 有多少种不同的“斐波那契表示”,请你帮帮他吧!

输入

一行一个整数n。

输出

一行一个整数ans,表示有ans 种不同的“斐波那契表示”。

样例输入输出

输入#1 复制
14
输出#1 复制
3
输入#2 复制
1110
输出#2 复制
21
输入#3 复制
1000000000000
输出#3 复制
283392

提示

【数据范围】 对于$20%$ 的数据,$1 \le n \le 10$。 对于$50%$ 的数据,$1 \le n \le 10^4$。 对于$80%$ 的数据,$1 \le n \le 10^9$。 对于$100%$ 的数据,$1 \le n \le 10^{12}$。
序号 标题 作者 发表时间 费用 订购数 操作