一般这道题都会出现超时,鉴于题中提示了只有1--13的输入数据, 于是可以先写个程序分别计算对应的值,记下来,再编写个小程序,里面用一个一维数组保留刚才记下来的各个值,
a[20] = {0,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881,0};
 

  1. #include<iostream>  
  2. using namespace std;  
  3. int n;  
  4. long long a[20] = {0,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881,0};  
  5. int main()  
  6. {  
  7.     while(cin>>n && n!=0){  
  8.       cout<<a[n]<<endl;  
  9.     }  
  10.     return 0;  
  11. }  
  12.  

成功AC!