题目描述
考虑以下定义在非负整数n上的递归关系:
$ F(n)=\begin{cases}f_0,& n=0\\f_1,&n=1\\a*F(n-1)+b*F(n-2),& otherwise\end{cases}$
其中a、b是满足以下两个条件的常数:
- a2+4b>0
- ∣a−a2+4b∣≤2
给定f0,f1,a,b和n,请你写一个程序计算F(n),可以假定F(n)是绝对值不超过109的整数(四舍五入)。
输入格式
输入文件一行依次给出5个数f0,f1,a,b和n,f0,f1是绝对值不超过109,n是非负整数,不超过109。另外,a,b是满足上述条件的实数,且∣a∣,∣b∣≤106。
输出格式
输出一行一个数,即F(n)。
样例
0 1 1 1 20
0 1-1 0 1000000000
-1 1 4 -3 18
6765
-1
387420487
提示
F(n)=k−mkn(f1−mf0)−mn(f1−kf0)
其中:m,k=2a±a2+4b
数据范围
- 0<n≤109
- ∣f0,f1∣≤109
- a,b为实数,且∣a,b∣≤106
来源