Como faria para ter essa saida na minha rotina
1 10 20
100 200 125
201 210 89
900 1000 174
Eu to tendo problema no ultimo for… ele ta saindo duplicado…
alguem saberia onde to errando?
grato
Como faria para ter essa saida na minha rotina
1 10 20
100 200 125
201 210 89
900 1000 174
Eu to tendo problema no ultimo for… ele ta saindo duplicado…
alguem saberia onde to errando?
grato
Ola,
Pô, posta o codigo ae pra gente dar uma olhada…
import javax.swing.*;
public class Teste008 {
public static void main(String args[]){
// Bloco contendo os intervalos de numeros;
int con[][] = new int[4][1];
// Variaveis para entradas/saidas dos intervalos
String in,out;
// vetores do array e regras;
int x,y,maior = 0,aux = 0,n1 =0,t=0,n2 = 0;
int cp = 0,ci = 0, ct = 0;
// for para colocar valores de entrada;
for(int i=0; i<con.length;i++){
in = JOptionPane.showInputDialog("Digite as entradas dos intervalos");
x = Integer.parseInt(in);
if((x>0)&&(x<1000000)){
con[i][0]=x;
}else{
break;
}
// For para colocar valores de saida;
for(int j=0; j< con[i].length;j++){
out = JOptionPane.showInputDialog("Digite as saidas dos intervalos");
y = Integer.parseInt(out);
if((y>0)&&(y<1000000)){
con[0][j] = y;
}else{
break;
}
for(int r = x; r<=y; r++){
if(r==1)
continue;
n1 = r;
while(n1!=1){
t = n1 % 2;
if(t==0){
n1 /= 2;
cp += 1;
}else{
n1 = ((3 * n1) + 1);
ci += 1;
}
}
ct = cp + ci + 1;
n2 = ct;
if(n2> maior){
aux = n2;
maior = aux;
}
cp = ci = ct = aux = n2 =0;
}
System.out.println(x +" "+ y +" "+ maior);
}
}
System.exit(0);
}
}