Files
freeCodeCamp/curriculum/challenges/english/08-coding-interview-prep/rosetta-code/averages-root-mean-square.english.md
Valeriy 79d9012432 fix(curriculum): quotes in tests (#18828)
* fix(curriculum): tests quotes

* fix(curriculum): fill seed-teardown

* fix(curriculum): fix tests and remove unneeded seed-teardown
2018-10-20 23:32:47 +05:30

1.5 KiB

title, id, challengeType
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);
}