Pagini recente » Cod sursa (job #1580236) | Cod sursa (job #496881) | Cod sursa (job #1358810) | Cod sursa (job #2175962) | Cod sursa (job #560027)
Cod sursa(job #560027)
#include<stdio.h>
int n,a[100000],b[100000],c[100000];
void adunare()
{
int k=0,s=0,i,r=0,s3=1,nr=1,z=0,j;
freopen("kfib.out","w",stdout);
a[0]=1;
b[0]=1;
a[++k]=1;
b[++s]=0;
while(s3)
{
for(i=1;i<=k;i++)
c[i]=a[i];
for(i=b[0]+1;i<=a[0];i++)
b[i+1]=0;
for(i=1;i<=a[0];i++)
{
a[i]=a[i]+b[i]+r;
r=a[i]/10;
a[i]=a[i]%10;
}
if(r)
{
a[++a[0]]=r;
r=0;
k++;
}
nr++;
if(nr==n)
{
for(j=k;j>=1;j--)
printf("%d",a[j]);
s3=0;
}
for(i=1;i<=k;i++)
b[i]=c[i];
}
}
int main()
{
freopen("kfib.in","r",stdin);
freopen("kfib.out","w",stdout);
scanf("%d",&n);
adunare();
}