思路
就是一个递推式a[n]=2*a[n-1]+2,这里需要用到高精度加法
参考代码
#include<iostream>
#include<vector>
using namespace std;
const int N = 410;
int n;
vector<int> add(vector<int> a,vector<int> b){
int t=0;
vector<int> res;
for(int i=0;i<a.size()||i<b.size()||t;++i){
if(i<a.size()){
t+=a[i];
}
if(i<b.size()){
t+=b[i];
}
res.push_back(t%10);
t/=10;
}
return res;
}
int main()
{
cin>>n;
vector<int> a;
a.push_back(2);
vector<int> ans;
ans.push_back(2);
for(int i=2;i<=n;++i){
ans=add(ans,ans);
ans=add(ans,a);
}
for(int i=ans.size()-1;i>=0;i--)cout<<ans[i];
return 0;
}