Сколько стоит ваш фронтенд

Добрый день. Помогите мне, пожалуйста, понять условие задачи.
Вопрос первый.
В условии написано:
если время проекта меньше 150 часов, то …
если время проекта больше 150 часов, то …

А если время равно 150 часов, в этом случае как быть? к какому из этих вариантов относить 150 часов?

Вопрос второй.
Не понятно, как высчитывать стоимость проекта, если он больше 150 часов.

   let fixRate = 1500;
  let lowRate = 1500-250;
  let fastRate = 1500*2.5;
  let cost;
  
  if(times <= 150 && fast == false){
    cost = times*fixRate ;
    }

  if(times <= 150 && fast == true){
    cost = times/2*fastRate;
  }
  
  if(times > 150 && fast == true){
    times = times/2;
    if(times <= 150){
      cost = times*fastRate;
    }
    else{
      cost = times*lowRate;
    }
  }
  
  if(times > 150 && fast == false){
    cost = times*lowRate;
    }
   return cost; 
  }
  
getPrice(0,true);

Все проверки совпадают, кроме одной, когда время “320 часов”


Сижу считаю на калькуляторе и не понимаю, откуда вообще может взяться цифра 560 000.
Что с чем складывается и перемножается, чтоб они получились?
320/2 = 160 часов.
160 > 150, значит проект большой.
160 х (1500-250) = 200 000.

Учтём что проект срочный, хорошо.
160 х 1500 х 2.5 = 600 000

Откуда ожидаемые 560 000?

Короче я разобралась.
let getPrice = function (times, fast) {
  
  let fixRate = 1500;
  let lowRate = 1500-250;
  let fastRate = 1500*2.5;
  let cost;
  
  if(times <= 150 && fast == false){
    cost = times*fixRate ;
    }

  if(times <= 150 && fast == true){
    cost = times/2*fastRate;
  }
  
  if(times > 150 && fast == true){
    times = times/2;
    if(times <= 150){
      cost = times*fastRate;
    }
    else{
      cost = times*(fastRate-250);
    }
  }
  
  if(times > 150 && fast == false){
    cost = times*lowRate;
    }
   return cost; 
  }
  
getPrice(0,true);

let getPrice = function (time, urgencyProject) {
let rateHour = 1500;
if (urgencyProject) {
time /= 2;
rateHour *= 2.5;
}
if (time > 150) {
rateHour -= 250;
}
return time * rateHour;
}

3 лайка

Мне эта задача совсем не понравилась. Но я решил. Вот:

let getPrice = function(hours, projectUrgency) {
  let fixedRate = 1500;
  let endHours = hours;
  
  if (projectUrgency) {
    endHours = hours / 2;
    fixedRate *= 2.5;
  }
  
  if (endHours > 150) {
    fixedRate -= 250;
  }
  return endHours * fixedRate;
}

Получилось вот так
:

let getPrice = function(hourse, isUrgently) {
  let fixPrice= 1500;
  if(isUrgently) {
    hourse /= 2;
    fixPrice *= 2.5;
  } if(hourse > 150) {
    fixPrice -= 250;
  }
  return fixPrice * hourse;
}