rambo189619 icon

Recursividad

rambo189619 | PRO | 04/06/11 07:48:11 AM UTC | 0 ⭐ | 181 👁️ | Never ⏰ | []
C |

3.42 KB

|

None

|

0 👍

/

0 👎

#include<stdio.h>
#include<math.h>
 
void MuestraNumerosNaturales(int valorActual,int anterior);
void MuestraNumerosNaturalesPares(int valorActual,int anterior);
void MuestraNumerosNaturalesCuadrados(int valorActual,int anterior);
void MuestraNumerosPotencia2(int valorActual,int anterior);
void MuestraRaicesCuadradas(int valorActual,int anterior);
 
int main()
{
  int opcion;
  int valor;
  printf("**************************************************** \n ");
  printf("**************************************************** \n ");
  printf("*  1 : Serie de numeros naturales *  * * * \n ");
  printf("*  2 : Serie de numeros naturales pares  * \n ");
  printf("*  3 : Los n primeros cuadrados de los numeros naturales * \n");
  printf("*  4 : Las n primeras potencias de los numeros naturales * \n");
  printf("*  5 : Las n primeras raices cuadradas   * * * * * * * * * \n");
  printf("**************************************************** \n ");
  printf("**************************************************** \n ");
  scanf("%d",&opcion);
 
  switch (opcion)
  {
    case 1:
    printf("Introduzca el valor de n \n ");
    scanf("%d",&valor);
    MuestraNumerosNaturales(valor,0);
    printf(". \n ");
    break;
    
    case 2:
    printf("Introduzca el valor de n \n ");
    scanf("%d",&valor);
    MuestraNumerosNaturalesPares(valor,0);
    printf(". \n ");
    break;
    
    case 4:
    printf("Introduzca el valor de n \n ");
    scanf("%d",&valor);
    MuestraNumerosNaturalesCuadrados(valor,1);
    printf(". \n ");
    break;
    
    case 3:
    printf("Introduzca el valor de n \n ");
    scanf("%d",&valor);
    MuestraNumerosPotencia2(valor,1);
    printf(". \n ");
    break;
    
    case 5:
    printf("Introduzca el valor de n \n ");
    scanf("%d",&valor);
    MuestraRaicesCuadradas(valor,1);
    printf(". \n ");
    break;
 
 
 
   default:
   printf("Opcion Incorrecta  \n ");
   break;
 
 
  }
}
 
void MuestraNumerosNaturales(int valorActual,int anterior)
{
  int resultado;
  
  if (valorActual >= 1)
  {
    resultado = anterior +1; 
    printf("%d",resultado);
    
  if (valorActual != 1)
    {
      printf(",");
    }
  MuestraNumerosNaturales(valorActual-1,resultado);
 
  }
}
 
void MuestraNumerosNaturalesPares(int valorActual,int anterior)
{
  int resultado;
  resultado = anterior+2;
  if (valorActual >= 1)
  {
    
     
    printf("%d",resultado);
  if (valorActual != 1)
    {
      printf(",");
    }
  MuestraNumerosNaturales(valorActual-1,resultado);
 
  }
}
 
void MuestraNumerosNaturalesCuadrados(int valorActual,int anterior)
{
  int resultado;
  if (valorActual >= 1)
  {
    resultado = anterior*2; 
    printf("%d",resultado);
  if (valorActual != 1)
    {
      printf(",");
    }
  MuestraNumerosNaturales(valorActual-1,resultado);
 
  }
}
void MuestraNumerosPotencia2(int valorActual,int anterior)
{
  int resultado;
  if (valorActual >= 1)
  {
    resultado = anterior*anterior;
    printf("%d",resultado);
  if (valorActual != 1)
    {
      printf(",");
    }
  MuestraNumerosNaturales(valorActual-1,resultado);
 
  }
}
 
void MuestraRaicesCuadradas(int valorActual,int anterior)
{
  double resultado;
  if (valorActual >= 1)
  {
    resultado = sqrt((anterior+1)); 
    printf("%.5f",resultado);
  if (valorActual != 1)
    {
      printf(",");
    }
  MuestraNumerosNaturales(valorActual-1,resultado);
 
  }
}

Comments