Pagini recente » Istoria paginii runda/pavel/clasament | Istoria paginii runda/oji_2012_9_sim/clasament | Cod sursa (job #1567655) | Cod sursa (job #1719331) | Cod sursa (job #156514)
Cod sursa(job #156514)
#include<stdio.h>
int f1[300],f2[300],f3[300];
void transf(int a[300], int b[300]){
int i;
for(i=1;i<=a[0];++i)
b[i]=a[i];
for(i=a[0]+1;i<=b[0]+1;++i)
b[i]=0;
b[0]=a[0];
}
int main () {
freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);
int n,i,t;
scanf("%d",&n);
if(n<2)
printf("%d\n",n);
else{
f1[0]=f2[0]=1;
f1[1]=1;
f2[1]=2;
n-=2;
while(n){
t=0;
for (i=1; i<=f1[0] || i<=f2[0] || t; i++, t/=10)
f1[i] = (t += f1[i] + f2[i]) % 10;
f1[0]=i-1;
transf(f1,f3);
transf(f2,f1);
transf(f3,f2);
--n;
}
}
for(i=f3[0];i>0;--i)
printf("%d",f3[i]);
return 0;
}