怎么写,但是算法求Code
查看原帖
怎么写,但是算法求Code
1356479
Dean20130202楼主2024/7/13 21:18

思路

设f1=A,f2=B,fn(n>2)=fn−1+fn−2,f_1=A,f_2=B,f_n(n>2)=f_{n-1}+f_{n-2},则f3f_3就是ANSWER A+BA+B。

推导

设qn=qn−1+qn−2,q^n=q^{n-1}+q^{n-2},解得(q≠0)q1=1+52,q2=1−52(q≠0)q_1=\frac{1+\sqrt{5}}{2},q_2=\frac{1-\sqrt{5}}{2}。
再设{fn=aq1n−1+bq2n−1f1=A,f2=B\begin{cases} f_n=aq_1^{n-1}+bq_2^{n-1} \\ f_1=A,f_2=B \end{cases}
代入,即得{a+b=Aa(1+52)+b(1−52)=B\begin{cases} a+b=A \\ a(\frac{1+\sqrt{5}}{2})+b(\frac{1-\sqrt{5}}{2})=B \end{cases}
解二元一次方程组得{a=B−A(1−52)5b=A(1+52)−B5\begin{cases} a=\frac{B-A(\frac{1-\sqrt{5}}{2})}{\sqrt{5}} \\ b=\frac{A(\frac{1+\sqrt{5}}{2})-B}{\sqrt{5}} \end{cases}
再代入得fn=15((B−A(1−52))(1+52)n−1+(A(1+52)−B)(1−52)n−1)f_n=\frac{1}{\sqrt{5}}((B-A(\frac{1-\sqrt{5}}{2}))(\frac{1+\sqrt{5}}{2})^{n-1}+(A(\frac{1+\sqrt{5}}{2})-B)(\frac{1-\sqrt{5}}{2})^{n-1})

解答

将n=3n=3代入fn=15((B−A(1−52))(1+52)n−1+(A(1+52)−B)(1−52)n−1)f_n=\frac{1}{\sqrt{5}}((B-A(\frac{1-\sqrt{5}}{2}))(\frac{1+\sqrt{5}}{2})^{n-1}+(A(\frac{1+\sqrt{5}}{2})-B)(\frac{1-\sqrt{5}}{2})^{n-1})
得 A+B=f3=15((B−A(1−52))(1+52)2+(A(1+52)−B)(1−52)2)=15((B−A(1−52))(3+52)+(A(1+52)−B)(3−52))\begin{aligned} A+B &= f_3\\ &= \frac{1}{\sqrt{5}}((B-A(\frac{1-\sqrt{5}}{2}))(\frac{1+\sqrt{5}}{2})^{2}+(A(\frac{1+\sqrt{5}}{2})-B)(\frac{1-\sqrt{5}}{2})^{2})\\ &= \frac{1}{\sqrt{5}}((B-A(\frac{1-\sqrt{5}}{2}))(\frac{3+\sqrt{5}}{2})+(A(\frac{1+\sqrt{5}}{2})-B)(\frac{3-\sqrt{5}}{2})) \end{aligned}

实现

只要计算15((B−A(1−52))(3+52)+(A(1+52)−B)(3−52))\frac{1}{\sqrt{5}}((B-A(\frac{1-\sqrt{5}}{2}))(\frac{3+\sqrt{5}}{2})+(A(\frac{1+\sqrt{5}}{2})-B)(\frac{3-\sqrt{5}}{2})),但怎么写?

2024/7/13 21:18
加载中...