根据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;
}
}
京公网安备 11010502036488号