sábado, 15 de junio de 2013

FUNCIONES RECURSIVAS


FACTORIAL RECURSIVO

En esta aplicacion consola se muestra el resultado del factorial utilizando un metodo recursivo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace recursividad_consola
{
    class Matematicas
    {

       //factorial recursivo
        public int factorial_Recursivo(int num)
        {
            int f=1;
            if (num == 0 || num == 1)
                return f;
            else
                f = num * factorial_Recursivo(num - 1);
            return f;
        }
}
==================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace recursividad_consola
{
    class Program
    {
        static void Main(string[] args)
        {

            Matematicas mat=new Matematicas();

            //factorial
            Console.WriteLine("calcular factorial");
            int n = int.Parse(Console.ReadLine());
            Console.WriteLine("el factorial de " + n + " es: " + mat.factorial_Recursivo(n));
         }
     }
}





INVERTIR UN NUMERO DE X DIGITOS

En esta aplicacion se muestra el funcionamiento de como invertir un numero entero mediante un metodo recursivo...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace recursividad_consola
{
    class Matematicas
    {
        //invertir numero 2
        public void invertir_R(int n)
        {
            Console.Write(n % 10);
                //if(n/10==0)
            if (n > 10)
                invertir_R(n / 10);
        }
     }
}
=====================================================          
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace recursividad_consola
{
    class Program
    {
        static void Main(string[] args)
        {
             Matematicas mat=new Matematicas();767302
            //invertir numero entero
            Console.Write("Inserta el numro a entero que desea Invertir ---> ");
            int n2 = int.Parse(Console.ReadLine());
            Console.Write("\nEl numero invertido de " + n2 + " es ----> ");
            mat.invertir_R(n2);
         }
     }
}




DIVISION RECURSIVA

En esta aplicacion se muestra el funcionamiento de como dividir un numero mediante un metodo recursivo...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace recursividad_consola
{
    class Matematicas
    {
       //Division mediante resta recursiva
        public int Division_R(int a, int b)
        {
            //int r=0;
            if (b > a)
                return 0;//return r;
            else
                return Division_R(a - b, b) + 1;//r = Division(a - b, b) + 1;
        }
     }
}
====================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace recursividad_consola
{
    class Program
    {
        static void Main(string[] args)
        {
             Matematicas mat=new Matematicas();

            //division
            Console.WriteLine("\n\nDivision");
            Console.Write("inserga el valor de a: ");
            int a = int.Parse(Console.ReadLine());
            Console.Write("inserga el valor de b: ");
            int b = int.Parse(Console.ReadLine());

            Console.WriteLine("La division es: " + mat.Division_R(a, b));

         }
     }
}




 SUMATORIA DE NUMEROS ENTEROS DE X DIGITOS

En esta aplicacion se muestra la sumatoria de numeros enteros ejemplo si digito el numero 12345 como resultado me dara 15.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace recursividad_consola
{
    class Matematicas
    {
      public int Sumatoria(int n)
        {
            if (n == 0 || n == 1)
                return n;
            else
                return n%10 + Sumatoria(n/10);    
        }
     }
}
=====================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace recursividad_consola
{
    class Program
    {
        static void Main(string[] args)
        {
             Matematicas mat=new Matematicas();

            Console.WriteLine("calcular sumatoria");
            int sum = int.Parse(Console.ReadLine());
            Console.WriteLine("la sumaa de los numeros es: " + mat.Sumatoria(sum));

         }
     }
}


1 comentario:

  1. La forma de invertir el numero es muy rastrera, y si no quiero escribir dígito a dígito el numero desde las unidades?, si no que quiero que la propia variable se convierta en el mismo numero pero invertido

    ResponderEliminar