Pagini recente » Cod sursa (job #3132159) | Cod sursa (job #1196668) | Cod sursa (job #979174) | Cod sursa (job #1117975) | Cod sursa (job #386855)
Cod sursa(job #386855)
#include<stdio.h>
int v1[256],S[256],v2[256],v3[256];
int v[256];
int N,done,o;
void suma(int sum[],int ad1[],int ad2[])
{
int max=ad2[0];
if(ad1[0]>max)
max=ad1[0];
for(int i=1;i<=max;++i)
sum[i]=ad1[i]+ad2[i];
for(int i=1;i<=max;++i)
{
if(sum[i]>9)
{
sum[i+1]=sum[i+1]+sum[i]/10;
sum[i]=sum[i]%10;
if(i+1>max)
max=i+1;
}
}
sum[0]=max;
}
void afiseaza(int x1[],int x2[])
{
int max=x1[0];
for(int i=x1[0];i>=1;--i)
printf("%d",x1[i]);
printf("\n");
}
int main()
{
freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);
scanf("%d",&N);
--N;
for(int i=N;i>=1;--i)
{
S[i]=v[N-i+1]-'0';
v[N-i+1]=0;
}
S[0]=N;
v1[1]=v1[0]=v2[1]=v2[0]=1;
o=0;
while(o<=N)
{
if(o%3==0)
{
suma(v3,v1,v2);
}
if(o%3==1)
{
suma(v1,v2,v3);
}
if(o%3==2)
{
suma(v2,v3,v1);
}
++o;
}
if(o%3==0)
{
afiseaza(v1,v2);
}
if(o%3==1)
{
afiseaza(v2,v3);
}
if(o%3==2)
{
afiseaza(v3,v1);
}
return 0;
}