Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/05/2010, 01:03
Avatar de caelus
caelus
 
Fecha de Ingreso: mayo-2010
Ubicación: /home
Mensajes: 91
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: Recursividad JAVA: Terminación anticipada

Tendrías que arreglar algunos asuntos allí, al menos así lo hice funcionar yo.
Código Codigo:
Ver original
  1. import java.io.*;
  2.  
  3. public class EsPrimo {
  4.     boolean resultado = true;
  5.     boolean EsPrimoRecursivo(int n, int divisor, boolean resul){
  6.        
  7.         divisor = divisor-1;
  8.         if(divisor>1){
  9.            
  10.             if(n%(divisor) != 0){
  11.                 EsPrimoRecursivo(n, divisor, resul);
  12.            
  13.         }else{
  14.                 resultado = false;          //Terminación anticipada.
  15.               }
  16.      }
  17.         return resultado;
  18.     }
  19.    
  20.     boolean EsPrimo(int num){
  21.         int aux;
  22.         aux = num;
  23.         boolean resultado = true;
  24.         return EsPrimoRecursivo(num, aux, resultado);
  25.     }
  26.    
  27.     public static void main(String[] args) throws NumberFormatException, IOException {
  28.         BufferedReader linea = new BufferedReader(new InputStreamReader(System.in));
  29.         int numero;
  30.         EsPrimo m = new EsPrimo();
  31.         System.out.print("Numero: ");
  32.         numero = Integer.parseInt(linea.readLine());
  33.         System.out.print("Primo: " + m.EsPrimo(numero));
  34.     }
  35.  
  36. }