根据an的递推方程 f(n)=2f(n−1)+3f(n−2),我们可以写出这样的特征方程:
x^2=2x+3
解方程得x1=3,x2=-1
设通解为 f(n) = c1x1^n + c2x2^n
代入初始条件f(1)=2,f(2)=6
即可得出an的通项公式f(n)=2*3^(n-1)
bn同理
最后用个快速幂即可得出答案。
import java.util.*; public class Solution { /** * 返回c[n]%1000000007;的值 * @param n long长整型 即题目中的n * @return int整型 */ int mod=1000000007; public int Answerforcn (long n) { // write code here long a=(2*pow(3,n-1))%mod; long b=(7*pow(5,n-1))%mod; return (int)((a*b)%mod); } private long pow(int x,long y){ long base=x,ans=1; while(y!=0){ if((y&1)==1){ ans=(ans*base)%mod; } y>>=1; base=(base*base)%mod; } return ans; } }