2583: 例1.6-1 普通递归关系
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:0
解决:0
题目描述
考虑以下定义在非负整数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是满足以下两个条件的常数:
- $a^2+4b>0$
- $|a-\sqrt{a^2+4b}| \le 2$
给定$f_0,f_1,a,b$和$n$,请你写一个程序计算$F(n)$,可以假定$F(n)$是绝对值不超过$10^9$的整数(四舍五入)。
输入
输入文件一行依次给出5个数$f_0,f_1,a,b$和$n,f_0,f_1$是绝对值不超过$10^9$,$n$是非负整数,不超过$10^9$。另外,$a,b$是满足上述条件的实数,且$|a|,|b|≤10^6$。
输出
输出一行一个数,即$F(n)$。
样例输入 复制
0 1 1 1 20
0 1-1 0 1000000000
-1 1 4 -3 18
样例输出 复制
6765
-1
387420487
提示
### 提示
$F(n)=\frac{k^n(f_1-mf_0)-m^n(f_1-kf_0)}{k-m}$
其中:$m,k=\frac{a\pm \sqrt{a^2+4b}}{2}$
## 数据范围
- $0<n \le 10^9$
- $|f_0,f_1| \le 10^9$
- $a,b$为实数,且$|a,b|\le 10^6$
$F(n)=\frac{k^n(f_1-mf_0)-m^n(f_1-kf_0)}{k-m}$
其中:$m,k=\frac{a\pm \sqrt{a^2+4b}}{2}$
## 数据范围
- $0<n \le 10^9$
- $|f_0,f_1| \le 10^9$
- $a,b$为实数,且$|a,b|\le 10^6$