求[(5+2√6)2^x+1 ] mod p 的值,其中 0 ≤ x < 232 , p 是个质数,p ≤ 46337 .(这里介绍的是一种暴力的做法)
(5+2√6)2^n+1 = an + bn·√6 ----©,
(5-2√6)2^n+1 = an - bn·√6 ;
所以(5+2√6)2^n+1 + (5-2√6)2^n+1 = 2an ;
因为5-2√6<1 , 所以[(5+2√6)2^x+1 ] = 2an - 1 ;
然后(5+2√6)2^x+1 = (5+2√6) ·(an-1 + bn-1·√6) -----®;
由C,R得:
an=5an-1 + 12bn-1 ,
bn=2an-1 + 5bn-1 ;
所以我们要求的就是 a2^k-1 ;
但是即使用矩阵快速幂 ,
原文:http://www.cnblogs.com/get-an-AC-everyday/p/4842632.html