Pagini recente » Cod sursa (job #2065029) | Cod sursa (job #1233679) | Cod sursa (job #3137175) | Cod sursa (job #1870832) | Cod sursa (job #283568)
Cod sursa(job #283568)
#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]);
}