--- title: 'Abundant, deficient and perfect number classifications' id: 594810f028c0303b75339acd challengeType: 5 videoUrl: '' localeTitle: 'Обильные, неполные и совершенные классификации номеров' --- ## 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
```yml tests: - text: getDPA - это функция. testString: 'assert(typeof getDPA === "function", "getDPA is a function.");' - text: getDPA должен возвращать массив. testString: 'assert(Array.isArray(getDPA(100)), "getDPA should return an array.");' - text: Возвращаемое значение getDPA должно иметь длину 3. testString: 'assert(getDPA(100).length === 3, "getDPA return value should have a length of 3.");' - text: 'getDPA(20000) должен равняться [15043, 4, 4953]' testString: 'assert.deepEqual(getDPA(20000), solution, "getDPA(20000) should equal [15043, 4, 4953]");' ```
## Challenge Seed
```js function getDPA (num) { // Good luck! } ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```