标签:
Pell数列a1, a2, a3, ...的定义是这样的,a1 = 1, a2 = 2, ... , an = 2 * an − 1 + an - 2 (n > 2)。
给出一个正整数k,要求Pell数列的第k项模上32767是多少。
1 #include<stdio.h> 2 int pell[1000001];//要开得足够大 3 int main() 4 { 5 int k,n,i,j; 6 scanf("%d",&n); 7 for(j=1;j<=n;j++) 8 { 9 scanf("%d",&k); 10 pell[1]=1; 11 pell[2]=2; 12 for(i=3;i<=k;i++)//从第三位开始模拟 13 { 14 pell[i]=pell[i-2]+2*pell[i-1];//an=2*an-1+an-2 15 pell[i]%=32767;//每次都对这个数列中的数取余,防止过大 16 } 17 printf("%d\n",pell[k]);//输出第k个结果即可 18 } 19 }
标签:
原文地址:http://www.cnblogs.com/geek-007/p/5660957.html