/****************************************************************************/
/* Sucesion de Fibonacci: F1=1, F2=1, Fn=Fn-2+Fn-1 para todo n>2            */
/* Utiliza LIP para manipular enteros de longitud arbitraria.               */
/*                                                                          */
/* Jaime Suarez <mcripto@bigfoot.com> 2003                                  */
/* en http://elparaiso.mat.uned.es                                            */
/****************************************************************************/

#include <stdio.h>

#include "lip.h"

main(int argc, char *argv[])
{
	long n,i;
	verylong a=0,b=0,c=0;
	
	if (argc!=2) {
		printf("%s <n> los n primeros terminos de la sucesion de Fibonacci\n"
		,argv[0]);
		return 1;
	}
	
	n=atol(argv[1]);
	zone(&a);zone(&b);
	printf("F1 : 1\n");
	printf("F2 : 1\n");
	for (i=2; i<=n; i++) {
		zadd(a,b,&c);
		printf("F%ld : ",i);
		zwriteln(c);
		zcopy(b,&a);
		zcopy(c,&b);
	}

	return 0;
}