Ir al contenido principal

4 Mini-Algoritmos Recursivos para pasar el tiempo.

Son simplemente 4 pequeños algoritmos recursivos que pretenden ahondar problemitas comunes que se harían perfectamente con un ciclos, pero aquí implementados con recursividad.


1. Sumar los numeros pares de una matriz:

  public int sumar(int i, int j){

      if(i >matriz.length-1)
         return 0;
     else{
         if(j > matriz.length-1 ){
             j=0;
             i++;
             return sumar(i,j);
         }else{
             if(matriz[i][j] %2==0)
                 return matriz[i][j] + sumar(i,j+1);
         }
     }
     return sumar(i,j+1);
  }



2. Determinar si una palabra es Palíndroma:

  public boolean palindroma(String palabra, int i, int j){

     if(i != (palabra.length()/2)){
         if(palabra.charAt(i) == palabra.charAt(j))
             return palindroma(palabra, ++i, --j);
         else
             return false;
     }
      return true;
  }


3. Sumar los digitos de un numero entero:

  public int sumaNum(int num){
     if(num==0)
         return 0;
     else
         return num%10 + sumaNum(num/10);
  }


4. Sumar el borde de una matriz de enteros:

  public int sumaBorde(int i, int j){

     if(i >matriz.length-1)
         return 0;
     else{
         if(j > matriz.length-1 ){
             j=0;
             i++;
             return sumaBorde(i,j);
         }else{
             if((i==0) || (i==matriz.length -1) || (j==0) ||(j==matriz.length -1))
                 return matriz[i][j] + sumaBorde(i,j+1);
         }
     }
     return sumaBorde(i,j+1);
  }

Bueno espero se entiendan, aunque son muy sencillos la verdad.

Salu2.

Comentarios

Entradas populares de este blog

[SRC] Compresor de Archivos Huffman

Después de unos días sin publicar he vuelto otra vez y quiero mostrar esta vez una de las tareas que nos pusieron este semestre en la universidad programando en java. Se trata de implementar el algoritmo de compresión Huffman , para quien no sepa de que se trata, en este link se explica que es esto, pero para ahondar un poco les cuento que se trata primero de generar una lista enlazada con los bytes del archivo y sus frecuencias ordenada de menor a mayor y luego con esta se procede a formar un arbol binario de frecuencias donde los bytes que tengan mayor aparición en el archivo o texto a comprimir (en este caso solo es para archivos y no tan largos :P) se encontraran a mayor altura.

Invertir una lista sencilla en Java

Bueno dejo un pequeño método en Java que hice para un trabajo de la Universidad, lo que hace es invertir una lista sencilla a través de nodos. Primero hay que tener en cuenta que el mundo del problema posee dos clases, una llamada Region.java y otra Colombia.java la cual tiene la lista de regiones y tambien una referencia a la primera Región , cada Región tiene una referencia a la siguiente Región y así sucesivamente hasta la ultima y formar la lista.

Concurso 3.2011 - Crackme Guan By.Thunder & Amerikano

Hola a todos, nuevamente tengo el gusto de presentar un tuto de cracking, esta vez del Concurso 3 de 2011 de Crackslatinos, el cual he solucionado en compañia con mi amigo Thunder. El objetivo es simple, crackearlo! :) Sin mas acá está la solución. Saludos