Генерация случайных чисел

Google Apps Script:
Генерация случайных чисел

Как:

В Google Apps Script вы можете генерировать случайные числа с помощью функции Math.random(), аналогично JavaScript. Эта функция возвращает псевдослучайное число с плавающей точкой в диапазоне от 0 (включительно) до 1 (исключая). Чтобы адаптировать эти числа для различных случаев использования, например, для генерации целых чисел в определенном диапазоне, вам может потребоваться выполнить дополнительные расчеты.

Генерация Базового Случайного Числа

Чтобы сгенерировать простое случайное число и записать его в консоль:

function generateRandomNumber() {
  var randomNumber = Math.random();
  Logger.log(randomNumber);
}

Пример вывода: 0.1234567890123456

Генерация Целого Числа в Определенном Диапазоне

Чтобы сгенерировать случайное целое число между двумя значениями (min и max), включительно:

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;
  Logger.log(randomNumber);
  return randomNumber;
}

// Пример:
getRandomInt(1, 10);

Пример вывода: 7

Напомним, функция Math.ceil() используется для округления минимального значения вверх, а Math.floor() - для округления максимального значения вниз, обеспечивая нахождение случайного числа в указанном диапазоне.

Подробнее

Механизм генерации случайных чисел в Google Apps Script, как и в большинстве языков программирования, использует генератор псевдослучайных чисел (PRNG). Эта техника детерминирована и опирается на исходное значение, известное как семя, для производства последовательности чисел, которая кажется случайной. Хотя это достаточно для многих приложений, важно отметить, что псевдослучайные числа могут не подходить там, где требуется высокая безопасность или истинная случайность, например, в криптографических приложениях.

Истинную случайность можно достигнуть с помощью аппаратных генераторов случайных чисел или сервисов, генерирующих случайность из природных явлений. Однако для большинства повседневных задач скриптинга в Google Apps Script Math.random() является достаточным.

Исторически поиск более эффективных техник генерации случайных чисел привел к разработке различных алгоритмов, среди которых выделяются Mersenne Twister и Линейный конгруэнтный генератор (LCG). Однако, учитывая высокий уровень абстракции в Google Apps Script, большинству пользователей не потребуется напрямую реализовывать эти алгоритмы, но понимание основных принципов может помочь оценить важность и ограничения генерации случайных чисел в ваших скриптах.