2020-06-30 14:21:26 +05:30

2.1 KiB
Raw Blame History

id, title, isRequired, challengeType, forumTopicId, localeTitle
id title isRequired challengeType forumTopicId localeTitle
a302f7aae1aa3152a5b413bc Factorialize a Number true 5 16013 Факториализация номера

Description

Верните факториал предоставленного целого числа. Если целое число представлено буквой n, факториал является произведением всех положительных целых чисел, меньших или равных n. Факториалы часто представлены сокращенной нотой n! Например: 5! = 1 * 2 * 3 * 4 * 5 = 120 В функцию будут 5! = 1 * 2 * 3 * 4 * 5 = 120 только целые числа, большие или равные нулю. Не забудьте использовать Read-Search-Ask, если вы застряли. Напишите свой собственный код.

Instructions

Tests

tests:
  - text: <code>factorialize(5)</code> should return a number.
    testString: assert(typeof factorialize(5) === 'number');
  - text: <code>factorialize(5)</code> should return 120.
    testString: assert(factorialize(5) === 120);
  - text: <code>factorialize(10)</code> should return 3628800.
    testString: assert(factorialize(10) === 3628800);
  - text: <code>factorialize(20)</code> should return 2432902008176640000.
    testString: assert(factorialize(20) === 2432902008176640000);
  - text: <code>factorialize(0)</code> should return 1.
    testString: assert(factorialize(0) === 1);

Challenge Seed

function factorialize(num) {
  return num;
}

factorialize(5);

Solution

function factorialize(num) {
  return num < 1 ? 1 : num * factorialize(num - 1);
}

factorialize(5);