Java - PROBLEMA DE GENIALIDAD

 
Vista:

PROBLEMA DE GENIALIDAD

Publicado por FelIPE (27 intervenciones) el 19/08/2008 22:21:57
HOla tengo un programa que divide en dos un número si es par y lo multiplica por 3 +1 si no pero no se que tiene mal en la función que hace ese procesamiento espero me ayuden

import java.util.Scanner;

public class AckermanFunctions {


public static void main(String[] args) throws Exception {
Scanner in = new Scanner(System.in);
int a, b;
int valor, y=0;
int arr[]=new int [100];
while (in.hasNext()){
a=in.nextInt();
b=in.nextInt();
if (a==0 && b==0)
break;
for (int i=a; i<=b; i++){
valor=ackerman(i);
//arr[y]=valor;
//y++;
System.out.print(valor);
}
/*for (int p=0;p<=y;p++)
arr[p]=0;

for (int k=0;k<=y;k++)
System.out.print(arr[k]);*/
}

}

public static int ackerman (int i){
int x=0;

while (i!=1){
x=x+1;
if (i%2==0){
i=i/2;
}
else{
i=i*3+1;
}

}

return x;

}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROBLEMA DE GENIALIDAD

Publicado por anonimo (1 intervención) el 27/08/2008 16:18:31
depronto en el metodo ackerman() le hace falta esto:

public static int ackerman (int i){
int x=0;

while (i!=1){
x=x+1;
if (i%2==0){
i=i/2;
}
else{
i=i*3+1;
}

}
x = i; //falta esta linea.
return x;

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar