2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
title: Gamma function
|
|
|
|
|
id: 5a23c84252665b21eecc7e76
|
|
|
|
|
challengeType: 5
|
|
|
|
|
videoUrl: ''
|
|
|
|
|
localeTitle: 伽玛功能
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
<section id="description">实现一个算法(或更多)来计算<a href="https://en.wikipedia.org/wiki/Gamma function">Gamma</a> ($ \ Gamma $)函数(仅在实际字段中)。 Gamma功能可以定义为: <div style="padding-left: 4em;"> <big><big>$ \ Gamma(x)= \ displaystyle \ int_0 ^ \ infty t ^ {x-1} e ^ { - t} dt $</big></big> </div></section>
|
|
|
|
|
|
|
|
|
|
## Instructions
|
|
|
|
|
<section id="instructions">
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Tests
|
|
|
|
|
<section id='tests'>
|
|
|
|
|
|
|
|
|
|
```yml
|
|
|
|
|
tests:
|
|
|
|
|
- text: <code>gamma</code>应该是一个功能。
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert(typeof gamma=='function')
|
2018-10-10 18:03:03 -04:00
|
|
|
|
- text: '<code>gamma("+tests[0]+")</code>应该返回一个数字。'
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert(typeof gamma(.1)=='number')
|
2018-10-10 18:03:03 -04:00
|
|
|
|
- text: '<code>gamma("+tests[0]+")</code>应该返回<code>"+results[0]+"</code> 。'
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert.equal(round(gamma(.1)), round(9.513507698668736))
|
2018-10-10 18:03:03 -04:00
|
|
|
|
- text: '<code>gamma("+tests[1]+")</code>应该返回<code>"+results[1]+"</code> 。'
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert.equal(round(gamma(.2)), round(4.590843711998803))
|
2018-10-10 18:03:03 -04:00
|
|
|
|
- text: '<code>gamma("+tests[2]+")</code>应该返回<code>"+results[2]+"</code> 。'
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert.equal(round(gamma(.3)), round(2.9915689876875904))
|
2018-10-10 18:03:03 -04:00
|
|
|
|
- text: '<code>gamma("+tests[3]+")</code>应该返回<code>"+results[3]+"</code> 。'
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert.equal(round(gamma(.4)), round(2.218159543757687))
|
2018-10-10 18:03:03 -04:00
|
|
|
|
- text: '<code>gamma("+tests[4]+")</code>应返回<code>"+results[4]+"</code> 。'
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert.equal(round(gamma(.5)), round(1.7724538509055159))
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Challenge Seed
|
|
|
|
|
<section id='challengeSeed'>
|
|
|
|
|
|
|
|
|
|
<div id='js-seed'>
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
function gamma (x) {
|
|
|
|
|
// 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>
|