freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-103-special-subset-...

56 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
id: 5900f3d61000cf542c50fee7
challengeType: 5
title: 'Problem 103: Special subset sums: optimum'
videoUrl: ''
localeTitle: 'Задача 103: Специальные суммы подмножества: оптимальные'
---
## Description
<section id="description"> Пусть S (A) представляет сумму элементов из множества A размера n. Мы будем называть это специальным набором сумм, если для любых двух непустых непересекающихся подмножеств B и C справедливы следующие свойства: S (B) ≠ S (C); т. е. суммы подмножеств не могут быть равны. Если B содержит больше элементов, чем C, то S (B)&gt; S (C). Если S (A) минимизировано для данного n, мы назовем его оптимальным специальным набором сумм. Первые пять оптимальных специальных наборов сумм приведены ниже. n = 1: {1} n = 2: {1, 2} n = 3: {2, 3, 4} n = 4: {3, 5, 6, 7} n = 5: {6, 9, 11 , 12, 13}. Кажется, что для данного оптимального множества A = {a1, a2, ..., an} следующий оптимальный набор имеет вид B = {b, a1 + b, a2 + b,. .., an + b}, где b является «средним» элементом предыдущей строки. Применяя это «правило», мы ожидаем, что оптимальное множество для n = 6 будет A = {11, 17, 20, 22, 23, 24}, причем S (A) = 117. Однако это не оптимальный набор , поскольку мы просто применили алгоритм для обеспечения почти оптимального набора. Оптимальным для n = 6 является A = {11, 18, 19, 20, 22, 25}, с S (A) = 115 и соответствующей заданной строкой: 111819202225. Учитывая, что A - оптимальная специальная сумма, установленная для n = 7, найдите свою строку набора. ПРИМЕЧАНИЕ. Эта проблема связана с проблемой 105 и проблемой 106. </section>
## Instructions
<section id="instructions">
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: <code>euler103()</code> должен вернуть 20313839404245.
testString: 'assert.strictEqual(euler103(), 20313839404245, "<code>euler103()</code> should return 20313839404245.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function euler103() {
// Good luck!
return true;
}
euler103();
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>