freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/rosetta-code/abundant-deficient-and-perf...

2.8 KiB

title id challengeType videoUrl localeTitle
Abundant, deficient and perfect number classifications 594810f028c0303b75339acd 5 Обильные, неполные и совершенные классификации номеров

Description

Они определяют три классификации положительных целых чисел на основе их правильных делителей .

Пусть $ P (n) $ - сумма собственных делителей n, где собственные делители - все натуральные n, отличные от n.

Если P(n) < n то n классифицируется как «несовершенный»,

Если P(n) === n то n классифицируется как "совершенный"

Если P(n) > n то n классифицируется как "обильное"

Пример:

6 имеет собственные делители 1, 2 и 3.

1 + 2 + 3 = 6, поэтому 6 классифицируется как совершенное число.

Внедрите функцию, которая вычисляет, сколько целых чисел от 1 до 20 000 (включительно) находятся в каждом из трех классов. Выведите результат как массив в следующем формате [deficient, perfect, abundant] .

Instructions

Tests

tests:
  - text: <code>getDPA</code> - это функция.
    testString: 'assert(typeof getDPA === "function", "<code>getDPA</code> is a function.");'
  - text: <code>getDPA</code> должен возвращать массив.
    testString: 'assert(Array.isArray(getDPA(100)), "<code>getDPA</code> should return an array.");'
  - text: Возвращаемое значение <code>getDPA</code> должно иметь длину 3.
    testString: 'assert(getDPA(100).length === 3, "<code>getDPA</code> return value should have a length of 3.");'
  - text: '<code>getDPA(20000)</code> должен равняться [15043, 4, 4953]'
    testString: 'assert.deepEqual(getDPA(20000), solution, "<code>getDPA(20000)</code> should equal [15043, 4, 4953]");'

Challenge Seed

function getDPA (num) {
  // Good luck!
}

After Test

console.info('after the test');

Solution

// solution required