#include <stdio.h> int main() { int dp[40][2]; dp[1][0] = 1; dp[1][1] = 2; int i; for(i=2;i<40;i++) { dp[i][0] = dp[i-1][1]; dp[i][1] = (dp[i-1][1] + dp[i-1][0]) * 2 ; } int n; while(~scanf("%d",&n)) { if(n==1) { printf("3 "); continue; } printf("%d ",dp[n][0]+dp[n][1]); } return 0; }
说明:
1.这样会超出范围,改成long long
2. __int64
printf("%I64d",...)