Despues d seguir los sabios consejos de Phas y HQH y optimizar todo lo que soy capaz el c?digo sigue sin ser valido. Me tira por un time limit, y lo ve l?gico por que con numeros mayors de 100.000 tardaa la de dios...
#include <stdio.h>
int main ()
{
int i,j,max,cont,tmp,n;
while (scanf("%d %d",&i,&j))
{
printf ("%d %d ",i,j);
if (j<i)
{
i=i^j;
j=j^i;
i=j^i;
}
max=0;
for (n=i;n<=j;n++)
{
tmp=n;
cont=1;
while (tmp!=1)
{
if (tmp&1)
tmp=3*tmp+1;
else
tmp=tmp>>1;
cont++;
}
if (max<cont)
max=cont;
}
printf ("%d\n",max);
}
}
?Alguna sugerencia para mejorar?
Lo de hacer el intercambio entre i y j mediantee XORS no es necesario por que solo se hace una vez, pero ya que estabamos puestos a mejorar...
Un saludo y gracias de antemano!
Anacoreta