Pagini recente » Cod sursa (job #613450) | Cod sursa (job #3248193) | Cod sursa (job #48225) | Cod sursa (job #714887) | Cod sursa (job #2295711)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
void adunare(int A[], int B[], int C[])
{
int T = 0;
C[0] = A[0]>B[0]?A[0]:B[0];
for(int i = 1; i <= C[0]; i++)
{
T += A[i]+B[i];
C[i] = T % 10;
T /= 10;
}
if(T > 0)
C[++C[0]] = 1;
}
void atribuire(int A[],int B[])
{
for(int i=0; i<=B[0]; i++)
A[i]=B[i];
}
int a[3000],b[3000],c[3000];
int main()
{
int n;
a[0]=1;
b[0]=1;
a[1]=1;
b[1]=2;
f>>n;
n--;
if(n==0)g<<1;
else if(n==1)g<<2;
else
{
for(int i=1; i<n; i++)
{
adunare(a,b,c);
atribuire(a,b);
atribuire(b,c);
}
for(int i=c[0]; i>0; i--)
g<<c[i];
}
return 0;
}