/****************************************************************************/
/* Conjetura de Collatz: Sea n un entero positivo, definimos                */
/* T(n)= n/2 si n es par o T(n)=(3n+1)/2 si n es impar.                     */
/* Se conjetura que empezando con un entero cualquiera se llegara           */ 
/* finalmente al numero 1.                                                  */
/*                                                                          */
/* Jaime Suarez <mcripto@bigfoot.com> 2003                                  */
/* en http://elparaiso.mat.uned.es                                            */
/****************************************************************************/

#include <stdio.h>

main(int argc, char *argv[])
{
	unsigned long n,contador=0;

	if (argc!=2) {
		printf("%s <n> comprueba la conjetura de Collatz para n.\n",argv[0]);
		return 1;
	}

	n=atol(argv[1]);
	while (n!=1) {
		contador++;
		printf("%lu, ",n);
		if (n/2.0==n/2) n/=2;
		else n=(3*n+1)/2;
	}
	printf("1\nNúmero de iteraciones: %lu\n",contador);
	return 0;
}