Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/07/2011, 11:48
Tortoiseius
 
Fecha de Ingreso: julio-2011
Ubicación: Querétaro México
Mensajes: 34
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta ideas para mejorar velocidad de código nofibonacci.

Bueno, primeramente hola y no vengo a que me hagan la tarea , mas bien vengo a que me ayuden a mejorar el tiempo de ejecución de este programa que hice o bien si se les ocurre un algoritmo mejor pues sería bien recibido, pero explicado por que quiero aprender : ).

El programa tiene que resolver el mayor de los casos en tiempo <= 1 segundo y el mio tarda como 7.
aqui el problema en una imagen:


otro ejemplo de entrada: 13
otro ejemplo salida:4 6 7 9 10 11 12

¿Cómo podría hacerlo mas rápido, hasta tiempo <=1 segundo ? D:

Cita:
#include <cstdlib>
#include <iostream>

using namespace std;



int vector[300000];
int main()
{

int numero,j,i,N;

cin>>N;

vector[0]=1;
vector[1]=2;
i=1;
while(numero<N)
{ i++;
vector[i]=vector[i-2]+vector[i-1];

numero=vector[i-1];
while(numero<vector[i]){
numero++;
if(numero!=3&&numero!=vector[i-1]&&numero!=vector[i]&&numero<N)
cout<<numero<<" ";
}
}
return 0;
}
mi algoritmo es simple, creo un numero fibonacci, me regreso al anterior numero fibonacci y cuento a la vez que imprimio hasta llegar al numero fibonacci que cree, y así sucesivamente D:, pero es muy tardado .

¿alguna idea?, no precisamente en código pero ideas...
Saludos : ).