Cod sursa(job #116926)

Utilizator ScrazyRobert Szasz Scrazy Data 19 decembrie 2007 20:36:21
Problema Nunta Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

int n;
int A[1000], B[1000];

void add(int A[], int B[])
{
    int i, t=0;
    for (i=1; i<=A[0] || i<=B[0] || t; ++i, t/=10000)
	A[i]=(t+=A[i]+B[i])%10000;
    A[0]=i-1;
}

int main()
{
    freopen("nunta.in","r",stdin);
    freopen("nunta.out","w",stdout);

    scanf("%d", &n);
    int i;

    A[0]=1;A[1]=1;
    B[0]=1;B[1]=2;
    for (i=3; i<=n; ++i) 
	if (i&1) add(A,B);
	else add(B,A);

    if (n&1)
	printf("%d", A[A[0]]);
    else
	printf("%d", B[B[0]]);

    if (n&1) 
	for (i=A[0]-1; i>=1; --i) 
	    printf("%d%d%d%d", A[i]/10000, A[i]/1000%10, A[i]/100%10, A[i]/10%10, A[i]%10);
    else 
	for (i=B[0]-1; i>=1; --i)
	    printf("%d%d%d%d", B[i]/10000, B[i]/1000%10, B[i]/100%10, B[i]/10%10, B[i]%10);

    return 0;
}