Pagini recente » Cod sursa (job #402381) | Cod sursa (job #834965) | Cod sursa (job #1842417) | Cod sursa (job #2385192) | Cod sursa (job #1675998)
#include <iostream>
#include <fstream>
using namespace std;
char nr1[200],nr2[200];
void adun1()
{
int i;
for( i=1;i<=max(nr1[0],nr2[0]);i++)
{
nr1[i]=nr1[i]+nr2[i];
if(nr1[i]/10!=0)
{
nr1[i+1]+=nr1[i]/10;
nr1[i]%=10;
}
}
nr1[0] = i - 1;
if(nr1[i]!=0)
nr1[0]++;
}
void adun2()
{
int i;
for( i=1;i<=max(nr1[0],nr2[0]);i++)
{
nr2[i]=nr1[i]+nr2[i];
if(nr2[i]/10!=0)
{
nr2[i+1]+=nr2[i]/10;
nr2[i]%=10;
}
}
nr2[0] = i - 1;
if(nr2[i]!=0)
nr2[0]++;
}
int main()
{
ifstream fi("nunta.in");
ofstream fo("nunta.out");
int n,i;
fi>>n;
nr1[0]=1;
nr2[0]=1;
nr2[1]=2;
nr1[1]=1;
if(n==1)
fo<<nr1[1];
else if(n==2)
fo<<nr2[1];
else
{
for( i=3;i<=n;i++)
{
if(i%2!=0)
adun1();
else
adun2();
}
if((i-1)%2==0)
{
for(int j=nr2[0];j>=1;j--)
fo<<(int)nr2[j];
}
else
{
for(int j=nr1[0];j>=1;j--)
fo<<(int)nr1[j];
}
}
fo.close();
fi.close();
}