* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
		
			
				
	
	
	
		
			1.0 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.0 KiB
		
	
	
	
	
	
	
	
id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName | 
|---|---|---|---|---|
| 597b2b2a2702b44414742771 | Factorial | 5 | 302263 | factorial | 
--description--
Write a function to return the factorial of a number.
Factorial of a number is given by:
n! = n * (n-1) * (n-2) * ..... * 1
For example:
- 3! = 3 * 2 * 1 = 6
- 4! = 4 * 3 * 2 * 1 = 24
Note: 0! = 1
--hints--
factorial should be a function.
assert(typeof factorial === 'function');
factorial(2) should return a number.
assert(typeof factorial(2) === 'number');
factorial(3) should return 6.
assert.equal(factorial(3), 6);
factorial(5) should return 120.
assert.equal(factorial(5), 120);
factorial(10) should return 3,628,800.
assert.equal(factorial(10), 3628800);
--seed--
--seed-contents--
function factorial(n) {
}
--solutions--
function factorial(n) {
  let sum = 1;
  while (n > 1) {
    sum *= n;
    n--;
  }
  return sum;
}