Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2012, 16:33
DickGumshoe
 
Fecha de Ingreso: enero-2012
Mensajes: 68
Antigüedad: 12 años, 3 meses
Puntos: 0
Función recursiva

Hola.

Estoy empezando con las funciones recursivas (este es mi primer ejercicio).

Debo calcular 1 + 1/2 + 1/3 ... +1/n-1 + 1/n

Tengo esto:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. double calculo(int n)
  5. {
  6.     if(n == 1) return 1;
  7.    
  8.     else
  9.     return 1/n+calculo(n-1);
  10. }
  11.  
  12.  
  13.  
  14. int main()
  15. {
  16.     double resultado;
  17.     int ult_termino;
  18.    
  19.     printf("Ultimo termino: ");
  20.     scanf("%d", &ult_termino);
  21.    
  22.     resultado = calculo(ult_termino);
  23.    
  24.     printf("El resultado es %f\n", resultado);
  25.    
  26.     system("pause");
  27.     return 0;
  28. }

Me devuelve siempre 1 (normal, si n va a terminar siempre siendo 1, y he puesto como condición que cuando valga 1 devuelva 1....

El problema es que no sé qué debo devolver en el primer if...

Gracias.

Saludos.