Problema de Genialidad
Publicado por Felipe (27 intervenciones) el 20/08/2008 18:50:43
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;
}
}
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


0