elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  FIBONACCI DE N MUY GRANDE
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: FIBONACCI DE N MUY GRANDE  (Leído 4,752 veces)
jgonzalezo

Desconectado Desconectado

Mensajes: 5


Ver Perfil
FIBONACCI DE N MUY GRANDE
« en: 20 Septiembre 2014, 22:00 pm »

Hola a todos, bueno primero que nada tengo q programar en C un fibonacci que me aguante hasta por lo menos el de 5000 tengo una idea de como poder resolverlo pero no me sale nada a la hora de programarlo, mi idea seria ir guardándolo el resultado cada uno de los dígitos de este en un arreglo de enteros, pero la verdad no se me ocurre como hacerlo, ojala me puedan ayudar, y gracias de ante mano

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
   int a,*puntero,i;
   printf("\n\nIngrese el numero para calcular Fibonacci.\n\n");
   scanf("%d",&a);
   
   puntero=malloc(sizeof(int));
   puntero[0]= 0;
   puntero[1]= 1;

    for(i=1;i<=a-1;i++) {
      puntero[2] = puntero[0]+ puntero[1];
      puntero[0] = puntero[1];
      puntero[1] = puntero[2];
   }
    printf("\n\n El Fibonacci de %d es: %d \n\n ",a, puntero[2]);
   
   free(puntero);
  system("PAUSE");     
  return 0;
}


ese es el codigo que llevo, se q no hace lo q pido, pero ojala me puedan dar una nocion o algo, soy nuevo en esto asi q agradeceria si son criticas q sean criticas constructivas.


« Última modificación: 20 Septiembre 2014, 22:13 pm por jgonzalezo » En línea

Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: FIBONACCI DE N MUY GRANDE
« Respuesta #1 en: 20 Septiembre 2014, 22:44 pm »

Por favor, utiliza las etiquetas GeSHi para que tu código sea más legible. Aquí mismo tienes explicados algunos algoritmos con los que puedes reducir notablemente el numero de operaciones para hallar los elementos de la sucesión.

Un saludo.


En línea

T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: FIBONACCI DE N MUY GRANDE
« Respuesta #2 en: 20 Septiembre 2014, 22:51 pm »

Cuando dices Fibonacci de 5000, que quiere decir que una serie de 5000 números o hasta el número 5000?
En línea

jgonzalezo

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: FIBONACCI DE N MUY GRANDE
« Respuesta #3 en: 20 Septiembre 2014, 23:00 pm »

Hola, emm tengo claro como funciona lo funcion fibonacci y su algoritmo, deseo calcular fibonacci(5000) "fibonacci de 5000" se que el problema del algoritmo basico es que no hay tipo de dato que me aguante dicho resultado, es por eso que habia pensado en representar los resultados que vayan surgiendo en un arreglo de enteros donde cada digito del numero fuese una posicion de dicho arreglo, y simplemente ir guardando los dos anteriores ya que fibonacci necesita los dos anteriores para representar el del siguiente numero, espero haber sido un poco mas claro.
En línea

jgonzalezo

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: FIBONACCI DE N MUY GRANDE
« Respuesta #4 en: 20 Septiembre 2014, 23:01 pm »

Por favor, utiliza las etiquetas GeSHi para que tu código sea más legible. Aquí mismo tienes explicados algunos algoritmos con los que puedes reducir notablemente el numero de operaciones para hallar los elementos de la sucesión.

Un saludo.

Código:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a,*puntero,i;
printf("\n\nIngrese el numero para calcular Fibonacci.\n\n");
scanf("%d",&a);

puntero=malloc(sizeof(int));
puntero[0]= 0;
puntero[1]= 1;

    for(i=1;i<=a-1;i++) {
puntero[2] = puntero[0]+ puntero[1];
puntero[0] = puntero[1];
puntero[1] = puntero[2];
   }
    printf("\n\n El Fibonacci de %d es: %d \n\n ",a, puntero[2]);

free(puntero);
  system("PAUSE");     
  return 0;
}


perdon soy nuevo en este foro
En línea

jgonzalezo

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: FIBONACCI DE N MUY GRANDE
« Respuesta #5 en: 20 Septiembre 2014, 23:02 pm »

Cuando dices Fibonacci de 5000, que quiere decir que una serie de 5000 números o hasta el número 5000?

fibonacci de 5000 pero es un numero que no puede ser guardado en ninguna variable de ningun tipo
En línea

T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: FIBONACCI DE N MUY GRANDE
« Respuesta #6 en: 20 Septiembre 2014, 23:24 pm »

Mírate esto: http://www.cquestions.com/2010/08/multiplication-of-large-numbers-in-c.html
Tendrás que hacer una función que sume dos números cuyas cifras se guardan en un array de chars.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: FIBONACCI DE N MUY GRANDE
« Respuesta #7 en: 21 Septiembre 2014, 02:15 am »

puedes usar GMP par calculos de alta precision

aquí escribí un post al respecto


y aqui una aplicación, calculé cuando lo hice pi a creo que 10 millones de decimales en unos minutos :P

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Secuencia fibonacci
Java
Erik# 7 16,952 Último mensaje 1 Octubre 2008, 18:04 pm
por Sk9ITk5Z
Sucesión Fibonacci [Batch] « 1 2 »
Scripting
leogtz 17 15,193 Último mensaje 15 Junio 2009, 17:26 pm
por leogtz
FIBONACCI « 1 2 »
Programación C/C++
JOSE23 12 16,362 Último mensaje 24 Febrero 2011, 00:09 am
por RyogiShiki
Serie Fibonacci C++
Programación C/C++
Manimecker 3 22,593 Último mensaje 16 Enero 2012, 22:34 pm
por Manimecker
[?] Error en secuencia de Fibonacci.
Programación C/C++
LlaboneTM 7 7,410 Último mensaje 26 Mayo 2013, 15:43 pm
por leosansan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines