#include<iostream>
#include<cmath>
using namespace std;
int main()
{
long long n;
long long a[40] = { 0,2 };
for (int w = 2;w <= 35;w++)
{
a[w] = 3 * a[w - 1] + 2;
}
while (cin >> n)
cout << (long long)(pow(3, n) - 1)<<" "<<a[n]<<endl;
}
我开始是直接输出3的n次方减1,然后一直过不了,后来换数组后才过的,这代码是我将之前的方法与数组数据对比,发现就35时不同,所以不懂是精度问题还是我前面方法就是错的,望解答。