题目
思路
显然考的是高精度。。。不多赘述
需要注意的是OJ对自定义类不太兼容,最好在main函数里面写,这样绝对不会有问题
代码
#include <iostream>
#include<bits/stdc++.h>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<cctype>
#include<stdlib.h>
#include<cstdio>
const int N = 2000;
#define ll long long;
using namespace std;
void jinwei(int * arr)
{
for(int i = 0; i < N - 1; i++)
{
if(arr[i] >= 10)
{
arr[i + 1] += arr[i] / 10;
arr[i] %= 10;
}
}
}
void print(int * arr)
{
bool flag = false;
for(int i = N - 1; i > 0 ;i--)
{
if(arr[i] != 0)
flag = true;
if(flag)
cout << arr[i];
}
cout << arr[0];
}
int main()
{
int a;
cin >> a;
int u[N],d[N];
memset(d,0,4 * N);
memset(u,0,4 * N);
u[0] = 1;
//u.print();
for(int i = 0; i < a; i++)
{
int tu[N];
int td[N];
memset(tu,0,4 * N);
memset(td,0,4 * N);
for(int i = 0; i < N - 1; i++)
{
tu[i]=u[i];
td[i]=d[i];
u[i]*=3;
d[i]*= 3;
u[i]+=td[i];
d[i]+=tu[i];
}
jinwei(u);jinwei(d);
}
print(u); cout << " "; print(d);
return 0;
}