ola, com relação a este exercicio do Beecrowd: Leia 3 valores de ponto flutuante e efetue o cálculo das raízes da equação de Bhaskara.
ola, com relação a este exercicio do Beecrowd:
Leia 3 valores de ponto flutuante e efetue o cálculo das raízes da equação de Bhaskara. Se não for possível calcular as raízes, mostre a mensagem correspondente “Impossivel calcular”, caso haja uma divisão por 0 ou raiz de numero negativo.
Entrada
Leia três valores de ponto flutuante (double) A, B e C.
Saída
Se não houver possibilidade de calcular as raízes, apresente a mensagem "Impossivel calcular". Caso contrário, imprima o resultado das raízes com 5 dígitos após o ponto, com uma mensagem correspondente conforme exemplo abaixo. Imprima sempre o final de linha após cada mensagem.
Desenvolvi esse codigo:
var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var lines = input.split('\n');
var a = lines[0];
var b = lines[1];
var c = lines[2];
var A = parseFloat(a);
var B = parseFloat(b);
var C = parseFloat(c);
var delta = (B * B) - (4 * A * C);
if (delta < 0 || A === 0) {
console.log("Impossivel calcular");
}else {
var x1 = (-B + Math.sqrt(delta)) / (2 * A);
var x2 = (-B - Math.sqrt(delta)) / (2 * A);
var raiz1 = x1.toFixed(5);
var raiz2 = x2.toFixed(5);
console.log(R1 = ${raiz1});
console.log(R2 = ${raiz2});
}
porem recebo como resposta ....Nan
não consigo visualizar o erro.....
- WWalace Abreu @walaceAbreu
A entrada é uma só, você tem que pegar a string que vem do input, faz um lines.split(" ") para poder separar os valores, tipo, a entrada seria:
"10.0 20.1 5.1", você teria que separar esses valoreslet valores = lines[0].split(" "); let a = parseFloat(valores[0]); let b = parseFloat(valores[1]); let c = parseFloat(valores[2]); - FEm resposta afabcuri⬆:Fabricio Postarek Curi @fabcuri
acredito que o erro estava no parametro do split....o beecrowd sugeria o \n, que usei em outros exercicios e funcionou....e substitui pelas aspas com espaço entre....ai passou!!!
grato!!