freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-23-non-abundant-sum...

3.1 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f3831000cf542c50fe96 5 Problem 23: Non-abundant sums Задача 23: Недостаточные суммы

Description

Идеальное число - это число, для которого сумма его собственных делителей точно равна числу. Например, сумма правильных делителей 28 будет равна 1 + 2 + 4 + 7 + 14 = 28, что означает, что 28 - идеальное число. Число n называется дефицитным, если сумма его собственных делителей меньше n, и его называют обильным, если эта сумма превышает n . Поскольку 12 - наименьшее обильное число, 1 + 2 + 3 + 4 + 6 = 16, наименьшее число, которое можно записать как сумму двух обильных чисел, равно 24. По математическому анализу можно показать, что все целые числа, большие 28123 можно записать как сумму двух обильных чисел. Однако этот верхний предел еще не может быть уменьшен путем анализа, хотя известно, что наибольшее число, которое не может быть выражено как сумма двух обильных чисел, меньше этого предела. Найдите сумму всех натуральных чисел <= n, которые не могут быть записаны в виде суммы двух обильных чисел.

Instructions

Tests

tests:
  - text: <code>sumOfNonAbundantNumbers(10000)</code> должно возвращать 3731004.
    testString: 'assert(sumOfNonAbundantNumbers(10000) === 3731004, "<code>sumOfNonAbundantNumbers(10000)</code> should return 3731004.");'
  - text: <code>sumOfNonAbundantNumbers(15000)</code> должно возвращать 4039939.
    testString: 'assert(sumOfNonAbundantNumbers(15000) === 4039939, "<code>sumOfNonAbundantNumbers(15000)</code> should return 4039939.");'
  - text: <code>sumOfNonAbundantNumbers(20000)</code> должен вернуть 4159710.
    testString: 'assert(sumOfNonAbundantNumbers(20000) === 4159710, "<code>sumOfNonAbundantNumbers(20000)</code> should return 4159710.");'
  - text: <code>sumOfNonAbundantNumbers(28123)</code> должен возвращать 4179871.
    testString: 'assert(sumOfNonAbundantNumbers(28123) === 4179871, "<code>sumOfNonAbundantNumbers(28123)</code> should return 4179871.");'

Challenge Seed

function sumOfNonAbundantNumbers(n) {
  // Good luck!
  return n;
}

sumOfNonAbundantNumbers(28123);

Solution

// solution required