71 lines
1.2 KiB
Markdown
71 lines
1.2 KiB
Markdown
![]() |
---
|
|||
|
id: a3566b1109230028080c9345
|
|||
|
title: 範圍內的數字求和
|
|||
|
challengeType: 5
|
|||
|
forumTopicId: 16083
|
|||
|
dashedName: sum-all-numbers-in-a-range
|
|||
|
---
|
|||
|
|
|||
|
# --description--
|
|||
|
|
|||
|
我們會傳入一個由兩個數字組成的數組。 給出一個含有兩個數字的數組,我們需要寫一個函數,讓它返回這兩個數字間所有數字(包含這兩個數字)的總和。 最低的數字並不總是第一位。
|
|||
|
|
|||
|
例如,`sumAll([4,1])` 應返回 `10`,因爲從 1 到 4(包含 1、4)的所有數字的和是 `10`。
|
|||
|
|
|||
|
# --hints--
|
|||
|
|
|||
|
`sumAll([1, 4])` 應返回一個數字。
|
|||
|
|
|||
|
```js
|
|||
|
assert(typeof sumAll([1, 4]) === 'number');
|
|||
|
```
|
|||
|
|
|||
|
`sumAll([1, 4])` 應返回 10。
|
|||
|
|
|||
|
```js
|
|||
|
assert.deepEqual(sumAll([1, 4]), 10);
|
|||
|
```
|
|||
|
|
|||
|
`sumAll([4, 1])` 應返回 10。
|
|||
|
|
|||
|
```js
|
|||
|
assert.deepEqual(sumAll([4, 1]), 10);
|
|||
|
```
|
|||
|
|
|||
|
`sumAll([5, 10])` 應返回 45。
|
|||
|
|
|||
|
```js
|
|||
|
assert.deepEqual(sumAll([5, 10]), 45);
|
|||
|
```
|
|||
|
|
|||
|
`sumAll([10, 5])` 應返回 45。
|
|||
|
|
|||
|
```js
|
|||
|
assert.deepEqual(sumAll([10, 5]), 45);
|
|||
|
```
|
|||
|
|
|||
|
# --seed--
|
|||
|
|
|||
|
## --seed-contents--
|
|||
|
|
|||
|
```js
|
|||
|
function sumAll(arr) {
|
|||
|
return 1;
|
|||
|
}
|
|||
|
|
|||
|
sumAll([1, 4]);
|
|||
|
```
|
|||
|
|
|||
|
# --solutions--
|
|||
|
|
|||
|
```js
|
|||
|
function sumAll(arr) {
|
|||
|
var sum = 0;
|
|||
|
arr.sort(function(a,b) {return a-b;});
|
|||
|
for (var i = arr[0]; i <= arr[1]; i++) {
|
|||
|
sum += i;
|
|||
|
}
|
|||
|
return sum;
|
|||
|
}
|
|||
|
```
|