#C06L03P06. C06.L03.递推(一).附加题1.斐波那契数列

C06.L03.递推(一).附加题1.斐波那契数列

题目描述

斐波那契数列是非常出名的数列,它的公式是这样的:

  1. f[0] = 0;

  2. f[1] = 1;

  3. 对于任意i>=2,都有f[i] = f[i-1] + f[i-2]。

于是,产生的斐波那契数列就是:0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , ......

现在给出一个正整数 N ,你要找出一个最小的整数 X ,同时满足如下两个条件:

  1. X >= 0。

  2. N+X 是斐波那契数列中的某一个数,或者 N-X 是斐波那契数列中的某一个数。

请输出满足条件的最小的 X 。

输入格式

一行,一个整数N。 1 <= N <= 1000000。

输出格式

一个满足条件的最小的 X 。

样例

15
2
19
2
8
0

样例解释

样例1: 因为 15-2=13 ,而 13 是斐波那契数列的其中一个数。

样例2: 因为 19+2=21 ,而 21 是斐波那契数列的其中一个数。

样例3: 因为 8 本身已经是斐波那契数列的一个数了。