思路:和斐波那契差不多,输入是1,2直接输出,其他则a[j]=(2*a[j-1]+a[j-2])%32767,注意及时取模。
#include<stdio.h>
int n,a[1000010];
int main(){
a[1]=1,a[2]=2;
scanf("%d",&n);
int dp[n];
for(int i=0;i<n;i++)
scanf("%d",&dp[i]);
for(int i=0;i<n;i++){
if(dp[i]==1) {printf("1\n");continue;}
if(dp[i]==2) {printf("2\n");continue;}
int j=3;
for(j;j<=dp[i];j++){
a[j]=(2*a[j-1]+a[j-2])%32767;
}
printf("%d\n",a[j-1]);
}
return 0;
}
有帮助就点个赞啵,来手赞赏也是非常妙的