Entradas

Mostrando entradas de septiembre, 2024

Factores Primos de un numero programacion recursiva (Java)

Imagen
  Problema: Se desea encontrar los factores primos de un numero n. para resolver este problema se realizo el siguiente código:     public static void main (String[] args) {        factoresPrimos(13);     }          public static void factoresPrimos (int n){         if (n<=1){             return ;         }else if( isPrimo(n)){             System.out.println(n);             return;         }         factoresPrimos(2,n);     }         public static void factoresPrimos (int inicio,int objetivo){         if (inicio==objetivo){             return;         }         if(objetivo%inicio==0&& isPrimo(inicio)){     ...

Cantidad de Dígitos de un numero calculado recursivamente (Java)

Imagen
Problema:   Escribe un proceso recursivo que permita calcular la cantidad de dígitos que tiene un numero positivo n Para solucionar este problema se realizo el siguiente código:     public static void main (String[] args) {                        System.out.println(cantDigitos(1299643));     }          public static int cantDigitos (int n){         if (n==0){             return 0;         }         return 1+cantDigitos(n/10);     } El método  cantDigitos (int n) es el código principal y recursivo Explicación : Condición base : Si n == 0, el método devuelve 0, porque un número con valor 0 no tiene más dígitos por contar. Esta es la condición que detiene la recursión. Caso recursivo : Si n no es igual a 0, el método añade 1 (para contar el dí...

Deteccion de Numeros Primos Recursivamente (Java)

Imagen
  Problema: Escribe un proceso recursivo que permita decidir si un numero natural n es primo o no. Un numero primo es un numero que puede dividirse por si mismo y por 1, es decir posee dos divisores integrales. Con este concepto en mente podemos realizar el siguiente código:     public static void main (String[] args) {                        System.out.println(isPrimo(24));     }          public static boolean isPrimo (int n){         if (n==1){             return false;         }         return isPrimo(n,n-1);     }     public static boolean isPrimo (int n, int m){         if (m==1){             return true;         }else if(n%m==0){             return false;  ...

Cantidad de lineas para Construir Hexágono de Crecimiento Recursivo (Java)

Imagen
Problema  Se pide disenar proceso(s) recursivo(s) necesario(s) para encontrar la cantidad de lineas que se requieren para construir hexagonos de crecimiento de nivel n, como se muestra en la siguiente figura. Si construimos un nivel mas: De este nuevo nivel podemos inferir que existe una cantidad de bloques fijos que son representados por el color verde, y en color rojo están la cantidad de hexágonos que se añade en cada nivel. Para formar un nuevo nivel no son necesarios los 6 lados del hexágono, por esta razón los hexágonos en verde pueden ser formados por 4 lados (quitando 1 base y 1 lateral) y los que están en rojo por 3 (quitando 2 bases y 1 lateral).     public static void main (String[] args) {                        System.out.println(hexagono(2));     }       public static int hexagono (int nivel){         if (nivel==1){         ...

Triangulo de Pascal Recursivo (Java)

Imagen
P roblema: Se pide encontrar la n-sima la del triangulo de Pascal. El triangulo de Pascal es el siguiente: 0                  1 1               1     1 2             1     2     1 3          1     3     3     1 4       1     4     6     4     1 Para poder solucionar este ejercicio se considero la idea de que los valore se encuentran en una posición del triangulo de pascal por ejemplo en la fila 3 y 4  las posiciones estarían dadas respectivamente por:          1               3               3             1      (3,0)        (3,1) ...

Proceso recursivo para determinar cuantos dígitos pares ocupan posiciones impares (Java)

Imagen
  Problema: Dado un numero entero n, escribir un proceso recursivo para determinar cuantos dígitos pares ocupan posiciones impares en n. Ej.: para n = 22005 el resultado es 2. Para n = 201414 , el resultado es 1. Explicación: 2     2     0     0     5 1     2     3     4     5 el resultado es 2 porque 2 y 0 se encuentran en dígitos pares 2     0     1     4     1     4 1     2     3     4     5     6 el resultado es 1 porque 2 se encuentra en la posición 1 Para resolver este ejercicio es necesario utilizar varios métodos recursivos como se muestra a continuación:

Pirámide de dígitos programación recursiva (Java)

Imagen
  Problema:   Escribir un proceso recursivo que muestre una media pirámide de dígitos como se muestra en la siguiente figura:   1  21   321   4321   54321   654321   7654321   87654321   987654321 para desarrollar este problema es necesario realizarlo en dos partes. la primera parte es la que va a realizar cada piso de la pirámide y la segunda parte es la que va a llenar la pirámide con los dígitos como se muestra a continuación: 

Potencia de un numero programacion recursiva (Java)

Imagen
Problema: Encuentra un método que permita definir la potencia de un numero. Los datos son a y b y lo que se desea es calcular a elevado a la b. Para poder solucionar este problema  es necesario determinar el caso base, de manera intuitiva podemos darnos cuenta que el caso base esta dado por b debido a que este valor indica las veces que se va a repetir el ejercicio con lo que obtendríamos el siguiente código: