rambo189619

Recursividad

Apr 6th, 2011
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.42 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<math.h>
  3.  
  4. void MuestraNumerosNaturales(int valorActual,int anterior);
  5. void MuestraNumerosNaturalesPares(int valorActual,int anterior);
  6. void MuestraNumerosNaturalesCuadrados(int valorActual,int anterior);
  7. void MuestraNumerosPotencia2(int valorActual,int anterior);
  8. void MuestraRaicesCuadradas(int valorActual,int anterior);
  9.  
  10. int main()
  11. {
  12.   int opcion;
  13.   int valor;
  14.   printf("**************************************************** \n ");
  15.   printf("**************************************************** \n ");
  16.   printf("*  1 : Serie de numeros naturales *  * * * \n ");
  17.   printf("*  2 : Serie de numeros naturales pares  * \n ");
  18.   printf("*  3 : Los n primeros cuadrados de los numeros naturales * \n");
  19.   printf("*  4 : Las n primeras potencias de los numeros naturales * \n");
  20.   printf("*  5 : Las n primeras raices cuadradas   * * * * * * * * * \n");
  21.   printf("**************************************************** \n ");
  22.   printf("**************************************************** \n ");
  23.   scanf("%d",&opcion);
  24.  
  25.   switch (opcion)
  26.   {
  27.     case 1:
  28.     printf("Introduzca el valor de n \n ");
  29.     scanf("%d",&valor);
  30.     MuestraNumerosNaturales(valor,0);
  31.     printf(". \n ");
  32.     break;
  33.    
  34.     case 2:
  35.     printf("Introduzca el valor de n \n ");
  36.     scanf("%d",&valor);
  37.     MuestraNumerosNaturalesPares(valor,0);
  38.     printf(". \n ");
  39.     break;
  40.    
  41.     case 4:
  42.     printf("Introduzca el valor de n \n ");
  43.     scanf("%d",&valor);
  44.     MuestraNumerosNaturalesCuadrados(valor,1);
  45.     printf(". \n ");
  46.     break;
  47.    
  48.     case 3:
  49.     printf("Introduzca el valor de n \n ");
  50.     scanf("%d",&valor);
  51.     MuestraNumerosPotencia2(valor,1);
  52.     printf(". \n ");
  53.     break;
  54.    
  55.     case 5:
  56.     printf("Introduzca el valor de n \n ");
  57.     scanf("%d",&valor);
  58.     MuestraRaicesCuadradas(valor,1);
  59.     printf(". \n ");
  60.     break;
  61.  
  62.  
  63.  
  64.    default:
  65.    printf("Opcion Incorrecta  \n ");
  66.    break;
  67.  
  68.  
  69.   }
  70. }
  71.  
  72. void MuestraNumerosNaturales(int valorActual,int anterior)
  73. {
  74.   int resultado;
  75.  
  76.   if (valorActual >= 1)
  77.   {
  78.     resultado = anterior +1;
  79.     printf("%d",resultado);
  80.    
  81.   if (valorActual != 1)
  82.     {
  83.       printf(",");
  84.     }
  85.   MuestraNumerosNaturales(valorActual-1,resultado);
  86.  
  87.   }
  88. }
  89.  
  90. void MuestraNumerosNaturalesPares(int valorActual,int anterior)
  91. {
  92.   int resultado;
  93.   resultado = anterior+2;
  94.   if (valorActual >= 1)
  95.   {
  96.    
  97.      
  98.     printf("%d",resultado);
  99.   if (valorActual != 1)
  100.     {
  101.       printf(",");
  102.     }
  103.   MuestraNumerosNaturales(valorActual-1,resultado);
  104.  
  105.   }
  106. }
  107.  
  108. void MuestraNumerosNaturalesCuadrados(int valorActual,int anterior)
  109. {
  110.   int resultado;
  111.   if (valorActual >= 1)
  112.   {
  113.     resultado = anterior*2;
  114.     printf("%d",resultado);
  115.   if (valorActual != 1)
  116.     {
  117.       printf(",");
  118.     }
  119.   MuestraNumerosNaturales(valorActual-1,resultado);
  120.  
  121.   }
  122. }
  123. void MuestraNumerosPotencia2(int valorActual,int anterior)
  124. {
  125.   int resultado;
  126.   if (valorActual >= 1)
  127.   {
  128.     resultado = anterior*anterior;
  129.     printf("%d",resultado);
  130.   if (valorActual != 1)
  131.     {
  132.       printf(",");
  133.     }
  134.   MuestraNumerosNaturales(valorActual-1,resultado);
  135.  
  136.   }
  137. }
  138.  
  139. void MuestraRaicesCuadradas(int valorActual,int anterior)
  140. {
  141.   double resultado;
  142.   if (valorActual >= 1)
  143.   {
  144.     resultado = sqrt((anterior+1));
  145.     printf("%.5f",resultado);
  146.   if (valorActual != 1)
  147.     {
  148.       printf(",");
  149.     }
  150.   MuestraNumerosNaturales(valorActual-1,resultado);
  151.  
  152.   }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment