Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/07/2011, 15:58
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: ideas para mejorar velocidad de código nofibonacci.

Igualmente si analisas el otro codigo no es cuadratico por mas que tenga dos while anidados. Fijate que la variable numero aumenta en uno por uno al igual que lo esta haciendo en el tuyo. Y no vuelve a empezar a contar cuando sale del while interno.

Ademas si te fijas tarda casi lo mismo que el otro codigo. Yo creo que la gran diferencia de tiempo se esta perdiendo en el hecho de escribir en pantalla.

Si te fijas bien con cualqioera de los dos codigos si escribimos en un archivo redirigiendo el stdout el algoritmo corre en menos de unsegudno.
Ejecutucando de esta forma:
miprog.exe > salida.txt

o en linux
./miprog > salida.txt

Saludos

Es mas se podria tener ya precargado la serie de fibonacci.

Código C:
Ver original
  1. for (i = 4 ; i < N ; i++)
  2.   if ( (i != 3 && i != 5 && i != 8 && i != 13 && i != 21 && i != 34 && i != 55 && i != 89 && i != 144 )  && (i != 233 &&  i != 377 && i != 610 && i !=987 && i !=1597 && i !=2584 && i !=4181 && i !=6765 && i !=10946 &&  i != 17711 && i != 28657 && i != 46368 && i != 75025 && i != 121393 && i != 196418 && i != 317811 ))
  3.       cout << i << " ";