Files
freeCodeCamp/curriculum/challenges/english/10-coding-interview-prep/rosetta-code/averages-root-mean-square.english.md
mrugesh 22afc2a0ca feat(learn): python certification projects (#38216)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
Co-authored-by: Beau Carnes <beaucarnes@gmail.com>
2020-05-27 13:19:08 +05:30

1.5 KiB

title, id, challengeType, isHidden, forumTopicId
title id challengeType isHidden forumTopicId
Averages/Root mean square 594da033de4190850b893874 5 false 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) {
  // 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);
}