Cod sursa(job #283568)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 19 martie 2009 12:51:56
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdio.h>

struct string
{
char s[200];
int L;
};

string F1,F2,F3,F;

int max(int x,int y)
{
if (x>y) return x;
return y;
}
int min(int x,int y)
{
if (x>y) return y;
return x;
}

string plus(string A,string B)
{
string R=F;
int l,i,c=0;

l = min(A.L,B.L);

for (i=0;i<l;i++)
{
c += A.s[i]-'0'+B.s[i]-'0';
R.s[i] = c%10+'0';
c /= 10;
}

for (;i<A.L;i++)
             {
             c += A.s[i]-'0';
             R.s[i] = c%10+'0';
             c /= 10;             
             }

for (;i<B.L;i++)
             {
             c += B.s[i]-'0';
             R.s[i] = c%10+'0';
             c /= 10;
             }

             
while (c) R.s[i] = c%10+'0',c/=10,++i;

R.L = i;

return R;
}

int main()
{
freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);

F1.s[0] = '1';
F1.L = 1;
F2.s[0] = '2';
F2.L = 1;

int i,n;
scanf("%d",&n);

for (i=1;i<n;i++)
{
F3 = plus(F1,F2);
F1 = F2;
F2 = F3;
}

for (i=F1.L-1;i>=0;i--) printf("%c",F1.s[i]);

}