Cod sursa(job #361757)

Utilizator iulia609fara nume iulia609 Data 6 noiembrie 2009 17:15:52
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<stdio.h>
#include<string.h>
#define dim 200
using namespace std;

int A[dim], B[dim], C[dim];

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

int main()
{ int N, i;
	freopen("nunta.in", "r", stdin);
	freopen("nunta.out","w", stdout);
	
	scanf("%d", &N);
	if (N <= 2)
	{
		printf("%d\n", N);
		return 0;
	}
	
	A[0] = A[1] = 1;
	B[0] = 1;
	B[1] = 2;
	
	for(i = 3; i <= N; i++)
	{
		add(A, B, C);
		memcpy(A, B, sizeof(B));
		memcpy(B, C, sizeof(C));
	}
	
	for(i = C[0]; i >= 1; i--)
		printf("%d", C[i]);
	printf("\n");
	return 0;
	
}