freeCodeCamp/curriculum/challenges/english/10-coding-interview-prep/rosetta-code/averages-root-mean-square.md

1.4 KiB

title id challengeType forumTopicId
Averages/Root mean square 594da033de4190850b893874 5 302228

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> should be a function.
    testString: assert(typeof rms === '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);

Challenge Seed

function rms(arr) {

}

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);
}