Cod sursa(job #301213)

Utilizator lucaz0rLuca Liviu lucaz0r Data 8 aprilie 2009 00:04:57
Problema Nunta Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <stdlib.h>

void add(int a[], int b[]) {

	int i, t = 0;

	for (i=1; i <= a[0] || i <= b[0] || t; i++, t/=10)
		a[i] = (t += a[i] + b[i]) % 10;
	a[0] = i - 1;

}


int main () {


	int a[1001], b[1001];
	int n, i, j;

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

	scanf ("%d",&n);

	if (n == 1) {
		printf ("1");
		return 0;
	}

	if (n == 2) {
		printf ("2");
		return 0;
	}

	for (i = 1; i <= 1000; i++) {
		a[i] = 0;
		b[i] = 0;
	}

	a[1] = 1;
	a[0] = 1;
	b[1] = 2;
	b[0] = 1;

	for ( j = 3; j <= n; j++)
	  if (j % 2 == 1)
		add(a,b);
	  else
		add(b,a);

	if(n % 2 == 1)
		for (i = a[0]; i >= 1; i--)
			printf ("%d",a[i]);
	else
		for (i = b[0]; i >= 1; i--)
			printf ("%d",b[i]);

	return 0;
}