#include <iostream> using namespace std; int a[1001][100]={0}; int main(void) { a[1][99]=0;a[2][99]=a[3][99]=1; int i,j; for(i=4;i<=1000;i++) { j=99; while(j>=0) { a[i][j]+=(a[i-2][j]*2+a[i-1][j]); a[i][j-1]+=a[i][j]/100000; a[i][j]%=100000; j--; } } int n; while(scanf("%d",&n)!=EOF) { if(n==1) { printf("0/n"); continue; } i=0; while(a[n][i]==0) i++; printf("%d",a[n][i++]); while(i<100) printf("%05d",a[n][i++]); printf("/n"); } } 假设递推公式为f[n]=f[n-2]*2+f[n-1];