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

2.3 KiB

title id challengeType videoUrl localeTitle
Abundant, deficient and perfect number classifications 594810f028c0303b75339acd 5 Classificações numéricas abundantes, deficientes e perfeitas

Description

Estes definem três classificações de inteiros positivos baseados em seus divisores apropriados .

Seja $ P (n) $ a soma dos divisores apropriados de n onde os divisores apropriados são todos inteiros positivos n diferentes de n em si.

Se P(n) < n então n é classificado como "deficiente"

Se P(n) === n então n é classificado como "perfeito"

Se P(n) > n então n é classificado como "abundante"

Exemplo:

6 tem divisores apropriados de 1, 2 e 3.

1 + 2 + 3 = 6, então 6 é classificado como um número perfeito.

Implemente uma função que calcule quantos dos inteiros de 1 a 20.000 (inclusive) estão em cada uma das três classes. Emita o resultado como um array no seguinte formato [deficient, perfect, abundant] .

Instructions

Tests

tests:
  - text: <code>getDPA</code> é uma função.
    testString: 'assert(typeof getDPA === "function", "<code>getDPA</code> is a function.");'
  - text: <code>getDPA</code> deve retornar um array.
    testString: 'assert(Array.isArray(getDPA(100)), "<code>getDPA</code> should return an array.");'
  - text: <code>getDPA</code> valor de retorno de <code>getDPA</code> deve ter um comprimento de 3.
    testString: 'assert(getDPA(100).length === 3, "<code>getDPA</code> return value should have a length of 3.");'
  - text: '<code>getDPA(20000)</code> deve ser igual a [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