Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Problema de logica no URI

Recentemente comecei a solucionar os exercícios de logica do URI utilizando javascript e me deparei com um que pedia para receber 3 valores de entrada e printar o maior entre eles (exercício 1013). No enunciado, eles dão a fórmula "maiorAB = A+B+abs(A-B)/2". Não entendi muito bem como funcionava a fórmula então pensei em outro método, que foi o seguinte:

function estabeleceMaior(valorA, valorB, valorC){

    var maior = valorA;

    if(valorA <= valorB){
        maior = valorB;

    }
    if(valorB <= valorC){
        maior = valorC
    }


    return maior;
}

Fiz os testes no VS code e funcionou, porém quando dei o commit no URI recebi um "wrong awnser 100%" :C Posteriormente, fiz umas pesquisas e entendi a formula (mais especificamente o "abs") e usei o Math.abs, ficou assim:

var maiorAB= (valorA + valorB + Math.abs(valorA - valorB)) / 2;
var maiorABC = (maiorAB + valorC + Math.abs(maiorAB - valorC)) / 2;

console.log(maiorABC);

Dei commit e foi aceito, porém fiquei intrigado pelo commit anterior ter dado errado se quando fiz os testes funcionou normalmente. Alguém sabe me explicar qual foi o problema na primeira lógica que foi utilizada?

1 resposta
solução!

Oi, Caio, tudo bem?

Desculpe a demora em te responder!

Há várias formas de se obter um resultado na programação, umas mais custosas que outras, mas elas levam ao mesmo resultado correto.

Quando usamos o URI para praticar em diferentes exercícios, além de termos um código que retorne a solução correta para o problema, precisamos seguir um escopo definido que passa por outras análises de correção como: tempo de execução, que avalia a demora em rodar o programa, as funções utilizadas, os casos de teste, entre outras.

O erro "Wrong Answer (100%)" que apareceu ao enviar sua primeira solução, significa que a solução não passou em nenhum caso de teste, por não ter usado a fórmula (Maior AB = a + b +abs(a-b))/2) especificada pelo exercício para a construção da resposta.

Espero ter ajudado. Caso tenha outras dúvidas, estarei à disposição.

Abraços !

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!