Pagini recente » Cod sursa (job #387469) | Cod sursa (job #1038259) | Cod sursa (job #1120647) | Cod sursa (job #278068) | Cod sursa (job #191151)
Cod sursa(job #191151)
#include <cstdio>
#define IN "nunta.in"
#define OUT "nunta.out"
#define cifmax 400
int n;
int A[cifmax],X[cifmax],Y[cifmax];
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;
}
void scan()
{
freopen(IN, "r",stdin);
freopen(OUT, "w",stdout);
scanf("%d", &n);
}
void solve()
{
X[0]=Y[0]=Y[1]=1;
X[1]=2;
if(n<3)
{
printf("%d\n", n);
return;
}
for(int i=3;i<=n;++i)
{
add(Y,X);
for(int j=0;j<=Y[0];++j)
A[j]=Y[j];
for(int j=0;j<=X[0];++j)
Y[j]=X[j];
for(int j=0;j<=A[0];++j)
X[j]=A[j];
}
for(int i=A[0];i>=1;--i)
printf("%d",A[i]);
printf("\n");
}
int main()
{
scan();
solve();
return 0;
}