Ir ao conteúdo
  • Cadastre-se

zMarlon

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Tudo que zMarlon postou

  1. eu tô resolvendo um exercicio de programação do URI ONLINE JUDGE, e nele pede para que a entrada termine com final de arquivo (EOF). Pra isso eu usei o Scanner como entrada, porém ficou dando erro de tempo limite excedido, o tempo limite é de 3 segundos e o meu código bateu 5 segundos. Pesquisando um pouco sobre esse erro, vi em alguns fóruns que o Scanner deixa a leitura da entrada mais lento e tinha como sugestão para usar o BufferedReader. Só que não consegui entender como usar o BufferedReader com EOF. Com o Scanner bastava fazer isso *Scanner ler = new Scanner(System.in); while(ler.hastNext()){ codigo..... } agr com buffered n faço ideia Meu código: import java.util.Scanner; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; public class SequênciaDeSequência_URI_2028{ public static void main(String[] args){ String nome = "C:\\Users\\PC\\Desktop\\questaoURIcomEOF.txt"; try { System.setIn(new FileInputStream(new File(nome))); } catch(FileNotFoundException e){ System.out.println("Arquivo não encontrado!"); } ////////////////////////////////////////////////////////////////// Scanner input = new Scanner(System.in); int N,contador,contarTamanho; int j = 1; while (input.hasNext()) { N = input.nextInt(); if(N>=0 && N<=200) { contador = 0; contarTamanho = 0; String numeros ="0"; if(N>0) { for(int i = 1; i<=N; i++) { while(contador<i) { numeros +=" "+ i; contador++; contarTamanho++; } contador = 0; } System.out.printf("Caso %d: %d numeros%n" + numeros+"%n%n",j,contarTamanho+1); } else { System.out.println("Caso 1: 1 numero"+"\n" + "0"+"\n"); } j++; } } input.close(); } }
  2. @Marcelo Calazans Eu adaptei o código aqui e funcionou certinho, mas o site(https://www.urionlinejudge.com.br/judge/pt/problems/view/1061) que eu estou fazendo deu como errado, pois ele quer que tenha estruturas condicionais. Não sei porque disso, na minha opinião o importante é o código funcionar, mas fazer o que né kkk. O meu código novo: var dia_inicial = parseInt(prompt("Dia inicial")); var hora_inicial = prompt("hora inicial"); var [horas, minutos, segundos] = hora_inicial.split(" : ").map(p => parseInt(p)); var dia_final = parseInt(prompt("Dia final")); var hora_final = prompt("hora final"); var [hora_F, minuto_F, segundo_F] = hora_final.split(" : ").map(h => parseInt(h)); var data1 = new Date(0,0,dia_inicial,horas,minutos,segundos); var data2 = new Date(0,0,dia_final,hora_F,minuto_F,segundo_F); var dataF = (data2 - data1); var diaF = Math.floor(dataF / 86400000); var horasF = Math.floor((dataF % 86400000) / 3600000); var minutosF = Math.round(((dataF % 86400000) % 3600000) / 60000); var segundosF = Math.floor((dataF /1000) % 60); console.log(diaF + " dia(s)"); console.log(horasF + " hora(s)"); console.log(minutosF + " minuto(s)"); console.log(segundosF + " segundo(s)");
  3. Pedrinho está organizando um evento em sua Universidade. O evento deverá ser no mês de Abril, iniciando e terminando dentro do mês. O problema é que Pedrinho quer calcular o tempo que o evento vai durar, uma vez que ele sabe quando inicia e quando termina o evento. Sabendo que o evento pode durar de poucos segundos a vários dias, você deverá ajudar Pedrinho a calcular a duração deste evento. Entrada Como entrada, na primeira linha vai haver a descrição “Dia”, seguido de um espaço e o dia do mês no qual o evento vai começar. Na linha seguinte, será informado o momento no qual o evento vai iniciar, no formato hh : mm : ss. Na terceira e quarta linha de entrada haverá outra informação no mesmo formato das duas primeiras linhas, indicando o término do evento. Saída Na saída, deve ser apresentada a duração do evento, no seguinte formato: W dia(s) X hora(s) Y minuto(s) Z segundo(s) Obs: Considere que o evento do caso de teste para o problema tem duração mínima de 1 minuto. var dia_inicial = parseInt(prompt("Dia inicial")); var hora_inicial = prompt("hora inicial"); var [horas, minutos, segundos] = hora_inicial.split(" : ").map(p => parseInt(p)); var dia_final = parseInt(prompt("Dia final")); var hora_final = prompt("hora final"); var [hora_F, minuto_F, segundo_F] = hora_final.split(" : ").map(h => parseInt(h)); var diasT = dia_final - dia_inicial; // T de totais var horasT = hora_F - horas; var minutosT = minuto_F - minutos; var segundosT = segundo_F - segundos; if(horasT<0){ horasT += 24; diasT -= 1; } if(minutosT<0){ minutosT += 60; horasT -= 1; } if(segundosT<0){ segundosT +=60; minutosT -= 1; } console.log("Dia "+ diasT); console.log(horasT + " hora(s)"); console.log(minutosT + " minuto(s)"); console.log(segundosT + " segundo(s)"); exemplo de entrada exemplo de saída Dia 5 3 dia(s) 08 : 12 : 23 22 hora(s) Dia 9 1 minuto(s) 06 : 13 : 23 0 segundo(s) Esse exemplo e outros vários deu certo, porém exemplo abaixo deu errado e não consigo achar onde está errado Exemplo que deu erro: Entrada Saída Dia 5 0 dia(s) 08 : 10 : 11 23 hora(s) -> essa é a saída correta Dia 6 59 minuto(s) 08 : 09 : 11 0 segundo(s) só que no meu código sai assim: Dia 1 -1 hora(s) 59 minuto(s) 0 segundo(s) https://www.udebug.com/URI/1061 nesse link tem vários exemplos de entrada E pelo o que eu percebi, eu testei quase todos e funcionou, mas tem esse citado acima que está errado.
  4. como eu faço um contador que imprima o tanto de números positivos que foi inserido na entrada(6 números na entrada). Em javascript
  5. @devair1010 fiz a quebra de linha e ainda da erro Wrong answer (5%)
  6. galera estou fazendo uns exercícios, só que eu me travei aqui porque n encontro o erro. essa questão do uri ta dando 5% de erro. já tentei debugar mas mesmo assim não sei o que falta. var lines = input.split('\n'); var prompt = function(texto) { return lines.shift();}; var entrada = prompt("A, B, C, D"); var [A, B, C, D] = entrada.split(" "); A = parseInt(A); // HORA INICIAL B = parseInt(B); // MINUTOR INICIAL C = parseInt(C); // HORA FINAL D = parseInt(D); // MINUTO FINAL if(A===C && B===D){ console.log("O JOGO DUROU " + 24 + " HORAS(S) " + "E " + 0 + " MINUTOS(S)"); } else if(A===C && B>D){ if(A-C===0 && ((D+60)-B)<60){ console.log("O JOGO DUROU " + 23 + " HORAS(S) " + "E " + ((D+60)-B) + " MINUTOS(S)"); } else {console.log("O JOGO DUROU " + A + " HORAS(S) " + "E " + ((D+60)-B) + " MINUTOS(S)");} } else if(A<C && B<D){ console.log("O JOGO DUROU " + (C-A) + " HORAS(S) " + "E " + (D-B) + " MINUTOS(S)"); } else if(A>C && B<D){ console.log("O JOGO DUROU " + ((C+24)-A) + " HORAS(S) " + "E " + (D-B) + " MINUTOS(S)"); } else if(A>C && B>D){ console.log("O JOGO DUROU " + (((C+24)-A)-1) + " HORAS(S) " + "E " + ((60+D)-B) + " MINUTOS(S)"); } else if(A<C && B===D){ console.log("O JOGO DUROU " + (C-A) + " HORAS(S) " + "E " + 0 + " MINUTOS(S)"); } else if(A<C && B>D){ if(C-A===1){ console.log("O JOGO DUROU " + 0 + " HORAS(S) " + "E " + ((60+D)-B) + " MINUTOS(S)"); } else if(C-A===2){ console.log("O JOGO DUROU " + 1 + " HORAS(S) " + "E " + ((60+D)-B) + " MINUTOS(S)"); } else {console.log("O JOGO DUROU " + ((C-A)-1) + " HORAS(S) " + "E " + ((60+D)-B) + " MINUTOS(S)");} } else if(A>C && B===D){ console.log("O JOGO DUROU " + ((C+24)-A) + " HORAS(S) " + "E " + 0 + " MINUTOS(S)"); } else if(A===C && B>D){ console.log("O JOGO DUROU " + ((C-A)-1) + " HORAS(S) " + "E " + ((60+D)-B) + " MINUTOS(S)"); } else if(A<C && B===D){ console.log("O JOGO DUROU " + (C-A) + " HORAS(S) " + "E " + 0 + " MINUTOS(S)"); } else if(A===C && B<D){ console.log("O JOGO DUROU " + (C-A) + " HORAS(S) " + "E " + (D-B) + " MINUTOS(S)"); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!