Pagini recente » Cod sursa (job #970279) | Cod sursa (job #974096) | Cod sursa (job #1526755) | Cod sursa (job #963547) | Cod sursa (job #496433)
Cod sursa(job #496433)
#include<cstdio>
typedef int Huge[1<<10];
Huge a,b,c;
void init()
{
a[0]=a[1]=1;
b[0]=b[1]=1;
}
void atrib(Huge A,Huge B)
{
A[0]=B[0];
for(int i=1;i<=B[0];i++)
A[i]=B[i];
}
void reset(Huge A)
{
for(int i=1;i<=A[0];i++)
A[i]=0;
A[0]=0;
}
void afis(Huge A)
{
for(int i=A[0];i>=1;i--)
printf("%d",A[i]);
}
void adun(Huge Rez,Huge A,Huge B)
{
int i,T=0;
for(i=1;i<=A[0] || i<=B[0] || T;i++)
{
Rez[i]=A[i]+B[i]+T;
T=Rez[i]/10;
Rez[i]%=10;
}
Rez[0]=i-1;
}
void solve(int n)
{
for(int i=2;i<=n;i++)
{
reset(c);
adun(c,a,b);
atrib(a,b);
atrib(b,c);
}
afis(c);
}
int main()
{
freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);
int n;
scanf("%d",&n);
if(n==1)
printf("1");
else
{
init();
solve(n);
}
return 0;
}