Files

83 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 5a23c84252665b21eecc8041
title: Сума послідовності
challengeType: 5
forumTopicId: 302333
dashedName: sum-of-a-series
---
# --description--
Вичисліть **n**<sup>ний</sup> член [послідовності](https://en.wikipedia.org/wiki/Series (mathematics)), тобто суму **n** перших членів відповідної [послідовності](https://en.wikipedia.org/wiki/sequence). Неформально це значення або його обмеження, коли **n** прагне до нескінченності називають *сумою послідовності*, звідси й назва завдання. Для цього завдання використовуйте: $S_n = \displaystyle\sum_{k=1}^n \frac{1}{k^2}$.
# --instructions--
Напишіть функцію, у якій $a$ та $b$ будуть параметрами, і яка поверне суму членів послідовності від $a^{th}$ до $b^{th}$.
# --hints--
`sum` має бути функцію.
```js
assert(typeof sum == 'function');
```
`sum(1, 100)` має повернути число.
```js
assert(typeof sum(1, 100) == 'number');
```
`sum(1, 100)` має повернути`1.6349839001848923`.
```js
assert.equal(sum(1, 100), 1.6349839001848923);
```
`sum(33, 46)` має повернути`0.009262256361481223`.
```js
assert.equal(sum(33, 46), 0.009262256361481223);
```
`sum(21, 213)` має повернути`0.044086990748706555`.
```js
assert.equal(sum(21, 213), 0.044086990748706555);
```
`sum(11, 111)` має повернути`0.08619778593108679`.
```js
assert.equal(sum(11, 111), 0.08619778593108679);
```
`sum(1, 10)` має повернути`1.5497677311665408`.
```js
assert.equal(sum(1, 10), 1.5497677311665408);
```
# --seed--
## --seed-contents--
```js
function sum(a, b) {
}
```
# --solutions--
```js
function sum(a, b) {
function fn(x) {
return 1 / (x * x);
}
var s = 0;
for (; a <= b; a++) s += fn(a);
return s;
}
```