Есть ли в JavaScript встроенные методы для поиска факториала числа? - PullRequest
0 голосов
/ 21 декабря 2018

Существуют ли какие-либо встроенные методы для нахождения факториала числа, который мы можем использовать вместо многократно используемых функций, как в примере ниже:

function factorial(x) {
  for (let i = x - 1; i >= 1; i--) {
    x= x * i; 
  }

  return x;
}

alert(factorial(16));

Ответы [ 3 ]

0 голосов
/ 21 декабря 2018

Нет встроенной факториальной функции.Однако, как примечание стороны, вы можете упростить вашу функцию следующим образом

function factorial(x) {
  return (x > 1) ? x * factorial(x-1) : 1;
}

console.log(factorial(5));
0 голосов
/ 21 декабря 2018

Нет встроенных функций для выполнения факториала числа в JavaScript, но вы можете создать файл .js только для этой цели и импортировать его в каждый файл, для которого вы собираетесь его использовать.Посмотрите на этот вопрос: Как включить файл JavaScript в другой файл JavaScript? для импорта файлов.Я считаю, что это самое близкое, что вы можете получить за то, что вы хотите.

Как Никос уже упоминал в комментарии, вам следует остерегаться переполнения для больших факторных чисел, поскольку наибольшее число, которое вы можете получить, составляет 2 ^ 53 - 1 для целых чисел или 2 ^ 32-1 для побитовых операций.Создайте свою собственную библиотеку BigInt или найдите ее: существует много открытых библиотек.

0 голосов
/ 21 декабря 2018

Нет, объект Math не предоставляет такого метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...