Формула случайных чисел js?
// Возвращает случайное число между 0 (включительно) и 1 (не включая 1)
function getRandom() {
  return Math.random();
}

// Возвращает случайное число между min (включительно) и max (не включая max)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}

// Возвращает случайное целое число между min (включительно) и max (не включая max)
// Использование метода Math.round() даст вам неравномерное распределение!
function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}
https://developer.mozilla.org/ru/docs/Web/JavaScri...
В твоем примере, если Math.random выдаст число 400, то Math.floor выдаст так же 400 (посмотри пример здесь: https://developer.mozilla.org/en-US/docs/Web/JavaS... ).
Первое что приходит на ум, задействуй if statement. Напиши функцию, которая определяет случайное число из диапазона и добавь проверку: if( number === 400) {return 399};
Но, думаю, должны быть более элегантные решения.