Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Agosto 20, 2008, 09:08:24
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++  |  Tema: Ayuda con conversion de decimal a binario y serie fibonacci 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Ayuda con conversion de decimal a binario y serie fibonacci  (Leído 280 veces)
jormen
Miembro
*****
Desconectado Desconectado

Mensajes: 135


Ver Perfil
« en: Junio 25, 2007, 03:27:00 »

« Última modificación: Junio 25, 2007, 06:43:57 por jormen » En línea

lann
Habitual
*****
Desconectado Desconectado

Mensajes: 309


maamamma

migue1990@gmail.com
Ver Perfil Email
« Respuesta #1 en: Junio 25, 2007, 09:15:22 »

bueno hay una funcion recursiva muy simple para calcular numeros de la seria fibonacci

  unsigned long fibonacci( unsigned long n)               
  {                                                             
     if ( ( n == 0 ) || ( n == 1 ) )   
        return n;                                           
     else                                 
        return fibonacci( n - 1 ) + fibonacci( n - 2 );
  }

y si no entiendes muy bien las recursivas ( como yo ) aqui esta una iterativa

double fibonacci( double number )
{
     if ( ( number == 0 ) || ( number == 1 ) )
        return number;
     else
     {
         int prev = 0;
         int current = 1;
         int fibo = 0;
         int hold;
         for( int n = 2; n <= number; n++ )
         {
            fibo = current + prev;
            hold = current;
            current = fibo;
            prev = hold;
         }
         return fibo;
  }
}

bueno tengo una funcion para convertir de decimal a binario la verdad no se si sea la mejor, pero la ise rapidamente cuando la nesesitaba, hay una funcion recursiva mucho mas sencilla, pero como dije antes no se me da mucho la recursividad


int PrintTables::decToBinary( int decimal )
{
    int pValue = 1;
    while( pValue <= decimal )
    pValue *= 2;
    pValue /= 2;
    if( decimal == 0 )
    {
        cout << '0';
        return 0;
    }
    if( pValue <= decimal )
    {
        while( decimal > 0)
        {
            if( pValue <= decimal )
            {
                cout << '1';
                decimal -= pValue;
                pValue /= 2;
                if( pValue >= 1 && decimal == 0 )
                {
                    while( pValue >= 1 )
                    {
                    cout << '0';
                    pValue /= 2;
                    }
                }
            }
            else
            {
                cout << '0';
                pValue /= 2;
            }
        }
    }
}

no se por ke pero parece ke escribi mucho codigo inesesario :p
bueno no es con animos de hacer la tarea de nadie como muchos te ubieran contestado, pero ya tenia los codigos y aparte si de verdad te interesa puedes verificar los codigos y entenderlos.
En línea

am
Rexix
Colaborador
*****
Desconectado Desconectado

Mensajes: 447


xoy del rojo, ex un xentimiento no puedo parar!!


Ver Perfil Email
« Respuesta #2 en: Junio 25, 2007, 10:58:23 »


solo para decir algo sobre la recursividad y no espero desviar el tema...

me parece que la recursividad no es muy aconsejable, ya que precisamente en este ejemplo de la serie fibonacci, imaginense que se requiera imprimir la serie unas cuanas miles de veces,,,,me parece que se ralentizaria el PC...

no se, pero no me parece muy aconsejable...
esto lo digo dentro de mis novatos conocimientos de recursividad y en gener al de programacion....

salu2
En línea


my page:
http://usuarios.lycos.es/r71xn942

problemas para Recordar tus contraseñas? aqui tienes la solucion
http://foro.el-hacker.com/index.php/topic,122732.0.html
jormen
Miembro
*****
Desconectado Desconectado

Mensajes: 135


Ver Perfil
« Respuesta #3 en: Junio 26, 2007, 11:24:56 »

« Última modificación: Junio 27, 2007, 08:57:56 por jormen » En línea

Micki Qwerty
Visitante
« Respuesta #4 en: Junio 26, 2007, 06:31:20 »

Citar
me parece que la recursividad no es muy aconsejable, ya que precisamente en este ejemplo de la serie fibonacci, imaginense que se requiera imprimir la serie unas cuanas miles de veces,,,,me parece que se ralentizaria el PC...

No, la recursividad es perfecta (si se programa de forma adecuada), no consume recursos y facilita enormemente la tarea al compilador. Para calculos numericos es muy apropiada... para ir encadenando tareas que consumen memoria (ej recorrer recursivamente los directorios) entonces ya la cosa es distinta pero sigue sin estar mal...
En línea
lann
Habitual
*****
Desconectado Desconectado

Mensajes: 309


maamamma

migue1990@gmail.com
Ver Perfil Email
« Respuesta #5 en: Junio 26, 2007, 07:13:40 »

aparte puede resolver las cosas mucho mas facil en algunos casos, que iterativamente seria algo complicadas por dar un ejemplo seria resolver el problema de las torres de hanoi... o varios problemas!, claro depende de el programador tambien
En línea

am
FreakMind
Habitual
*****
Desconectado Desconectado

Mensajes: 181



Ver Perfil
« Respuesta #6 en: Junio 26, 2007, 10:32:12 »

« Última modificación: Junio 26, 2007, 10:36:12 por FreakMind » En línea

Connoisseurs of C semantics find C++ inferior to ++C

Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++  |  Tema: Ayuda con conversion de decimal a binario y serie fibonacci « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC