题目:
代码如下:
#include<bits/stdc++.h>
using namespace std;
long long f[65],g[65];
int main()
{
int n;
cin >> n;
g[1] = f[1] = 1;
for(int i = 2;i <= n;i++) f[i] = 2 * f[i - 1] + 1;
for(int i = 2;i <= n;i++) g[i] = 2 * g[i - 1] + i;
cout << f[n] << " " << g[n] << endl;
return 0;
}
这道题用递归写有些数据会超时,所以只能使用动态规划去完成。