Pagini recente » Cod sursa (job #1267349) | Cod sursa (job #2575630) | Cod sursa (job #249153) | Cod sursa (job #571934) | Cod sursa (job #1787163)
#include<fstream>
#include<cstring>
#define maxv 212
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
int n,a[maxv],b[maxv],c[maxv],i;
void add(int *A, int *B)
{
int i, t = 0;
for (i=1; i<=A[0] || i<=B[0] || t; i++, t/=10)
A[i] = (t += A[i] + B[i]) % 10;
A[0] = i - 1;
}
int main()
{
a[0]=1;
a[1]=1;
b[0]=1;
b[1]=1;
f>>n;
c[0]=1;
for(i=1;i<n;++i)
{
if(i%3==1)
add(c,a),add(c,a);
else
if(i%3==2)
add(a,b),add(a,b);
else
add(b,c),add(b,c);
}
if(n==1)
g<<"1";
else
if(n%3==2)
for(i=c[0];i;--i)
g<<c[i];
else
if(n%3)
for(i=b[0];i;--i)
g<<b[i];
else
for(i=a[0];i;--i)
g<<a[i];
g<<"\n";
f.close();
g.close();
return 0;
}