Квадратные корни


#1

мой вариант, испытание прошел, но пришлось изучить что такое вообще Дискриминант, в школе пропустил эту тему ))

var calculateRoots = function (a, b, c) {
  var x1 = 0;
  var x2 = 0;
  var str;
  var D = b * b - 4 * a * c;
  if (D < 0) {
    str = 'Корней нет';
  }
  if (D === 0) {
    x1 = -b / (2 * a);
    str = 'Корень равен ' + x1;
  }
  if (D > 0) {
    x1 = (-b + Math.sqrt(D)) / (2 * a);
    x2 = (-b - Math.sqrt(D)) / (2 * a);
    str = 'Первый корень равен ' + x1 + ', второй корень равен ' + x2;
  }
  return str;
}

#2

Получилось как и у Романа, только переменных меньше новых вводил.

Код

let calculateRoots = function(a, b , c) {
let discriminant = b * b - 4 * a * c;
let result;
if (discriminant < 0) {
result = ‘Корней нет’;
}
if (discriminant === 0) {
result = 'Корень равен ’ + ( -b / (2 * a));
}
if (discriminant > 0) {
result = 'Первый корень равен ’ + (-b + Math.sqrt(discriminant)) / (2 * a) + ', второй корень равен ’ + (-b - Math.sqrt(discriminant)) / (2 * a);
}
return result;
}


#3
const calculateRoots = (a, b, c) => {
  var D = b * b - 4 * a * c;
  if (D < 0) {
    return 'Корней нет';
  } else if (D == 0) {
    return 'Корень равен ' + (-b  / (2 * a));
  } else if (D > 0) {
    return 'Первый корень равен ' + ((-b + Math.sqrt(D)) / (2 * a)) + ', второй корень равен ' + ((-b - Math.sqrt(D)) / (2 * a))
  }
}