Título: Serie Fibonacci C++ Publicado por: Manimecker en 16 Enero 2012, 08:05 am Buenas noches, un saludo muy grande a toda la comunidad de elhacker.net y vengo de nuevo yo con un problema relacionado a la programación.
Tengo el siguiente problema: Citar Problema Escribe un programa que imprima en pantalla todos los números enteros positivos estrictamente menores que N que NO pertenezcan a la serie de Fibonacci. Entrada Tu programa deberá de leer del un solo número entero 2<=N<=30000 (30 mil) Salida Tu programa deberá imprimir en pantalla todos los números enteros positivos menores que N que no formen parte de la serie de Fibonacci, deberá imprimirlos en orden creciente, separados por espacios. Ejemplo Entrada 9 Salida 4 6 7 Básicamente, es un programa que imprima los números menores de N que no pertenezcan a la serie Fibonacci. Hice el siguiente código: Código
Input: Citar 9 Output Citar 4 5 6 Pero simplemente no entiendo por qué no funciona, sé que es un problema de lógica mío, pero no lo veo. Gracias de antemano y disculpen la molestia. Debe ser tan fácil, pero no he podido averiguarlo. Título: Re: Serie Fibonacci C++ Publicado por: rir3760 en 16 Enero 2012, 15:13 pm Para empezar falta realizar la validación del numero introducido por el usuario.
El programa no funciona correctamente ya que en cada iteracion del bucle calculas el siguiente numero de la serie fibonacci, ello solo debes hacerlo cuando alcances ese numero (al imprimir los números entre este y el anterior). El programa corregido: Código
Un saludo Título: Re: Serie Fibonacci C++ Publicado por: Xandrete en 16 Enero 2012, 20:46 pm ¡Hola! Me gustaría añadir otra solución al problema ^^
Que conste que desde en un principio lo hubiera hecho como rir3760 , pero ya que él lo ha hecho ya así, aporto algo diferente. Esta solución es más ineficiente en términos de memoria, pero es "más C++". Código
Y otra, sin vectores: Código
Saludos. Título: Re: Serie Fibonacci C++ Publicado por: Manimecker en 16 Enero 2012, 22:34 pm Muchas gracias a Xandrete y a rir3760, me dieron una idea con sus códigos de cómo debía ser el código e implemente el siguiente, el cual es muy parecido al de rir3760:
Código
Muchas gracias, Xandrete, esta tarde estudiaré tu código ya que me pareció un tanto confuso (sobretodo el primero, por algunas cosas que aún no aprendo). Muchas gracias a ambos! Salu2 y suerte. EDIT--- He mandado mi código a evaluación, y me reporta que en el caso 1 existe un 'Error de ejecución o tiempo de espera agotado' y en los 4 casos restantes la respuesta es correcta. ¿Cuál será el problema? PD: No tengo los casos que prueban al programa. |