1.5 KiB
1.5 KiB
title | id | challengeType |
---|---|---|
Averages-Root mean square | 594da033de4190850b893874 | 5 |
Description
Compute the Root mean square of the numbers 1 through 10 inclusive.
The root mean square is also known by its initials RMS (or rms), and as the quadratic mean.
The RMS is calculated as the mean of the squares of the numbers, square-rooted:
$$x_{\mathrm{rms}} = \sqrt {{{x_1}^2 + {x_2}^2 + \cdots + {x_n}^2} \over n}. $$
Instructions
Tests
tests:
- text: <code>rms</code> is a function.
testString: assert(typeof rms === 'function', '<code>rms</code> is a function.');
- text: <code>rms([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])</code> should equal <code>6.2048368229954285</code>.
testString: assert.equal(rms(arr1), answer1, '<code>rms([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])</code> should equal <code>6.2048368229954285</code>.');
Challenge Seed
function rms (arr) {
// Good luck!
}
After Test
const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const answer1 = 6.2048368229954285;
Solution
function rms (arr) {
const sumOfSquares = arr.reduce((s, x) => s + x * x, 0);
return Math.sqrt(sumOfSquares / arr.length);
}