69 lines
1.6 KiB
Markdown
69 lines
1.6 KiB
Markdown
---
|
||
title: Factorial
|
||
id: 597b2b2a2702b44414742771
|
||
challengeType: 5
|
||
videoUrl: ''
|
||
localeTitle: 阶乘
|
||
---
|
||
|
||
## Description
|
||
<section id="description"><p>编写一个函数来返回一个数字的阶乘。 </p><p>一个数字的因子由下式给出: </p> N! = n *(n-1)*(n-2)* ..... * 1 <p>例如:3! = 3 * 2 * 1 = 6 4! = 4 * 3 * 2 * 1 = 24 </p><p>注意:0! = 1 </p></section>
|
||
|
||
## Instructions
|
||
<section id="instructions">
|
||
</section>
|
||
|
||
## Tests
|
||
<section id='tests'>
|
||
|
||
```yml
|
||
tests:
|
||
- text: <code>factorial</code>是一种功能。
|
||
testString: 'assert(typeof factorial === "function", "<code>factorial</code> is a function.");'
|
||
- text: <code>factorial(2)</code>应该返回一个数字。
|
||
testString: 'assert(typeof factorial(2) === "number", "<code>factorial(2)</code> should return a number.");'
|
||
- text: <code>factorial(3)</code>应该返回6.“)
|
||
testString: 'assert.equal(factorial(3),results[0],"<code>factorial(3)</code> should return 6.");'
|
||
- text: <code>factorial(3)</code>应返回120.“)
|
||
testString: 'assert.equal(factorial(5),results[1],"<code>factorial(3)</code> should return 120.");'
|
||
- text: '<code>factorial(3)</code>应返回3,628,800。“)'
|
||
testString: 'assert.equal(factorial(10),results[2],"<code>factorial(3)</code> should return 3,628,800.");'
|
||
|
||
```
|
||
|
||
</section>
|
||
|
||
## Challenge Seed
|
||
<section id='challengeSeed'>
|
||
|
||
<div id='js-seed'>
|
||
|
||
```js
|
||
function factorial (n) {
|
||
// Good luck!
|
||
}
|
||
|
||
```
|
||
|
||
</div>
|
||
|
||
|
||
### After Test
|
||
<div id='js-teardown'>
|
||
|
||
```js
|
||
console.info('after the test');
|
||
```
|
||
|
||
</div>
|
||
|
||
</section>
|
||
|
||
## Solution
|
||
<section id='solution'>
|
||
|
||
```js
|
||
// solution required
|
||
```
|
||
</section>
|