freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-328-lowest-cost-sea...

56 lines
4.1 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: 5900f4b41000cf542c50ffc7
challengeType: 5
title: 'Problem 328: Lowest-cost Search'
videoUrl: ''
localeTitle: 'Задача 328: поиск по минимальным затратам'
---
## Description
<section id="description"> Мы пытаемся найти скрытое число, выбранное из набора целых чисел {1, 2, ..., n}, задавая вопросы. Каждый номер (вопрос), который мы задаем, имеет стоимость, равную запрашиваемому номеру, и мы получаем один из трех возможных ответов: «Ваша догадка ниже скрытого числа» или «Да, вот и все!» Или «Ваша догадка выше скрытого числа &quot;. Учитывая значение n, оптимальная стратегия минимизирует общую стоимость (т. Е. Сумму всех заданных вопросов) для наихудшего возможного случая. Например <p> Если n = 3, лучшее, что мы можем сделать, - это, очевидно, задать число «2». Ответ сразу заставит нас найти скрытое число (при общей стоимости = 2). </p><p> Если n = 8, мы можем решить использовать стратегию «двоичного поиска»: наш первый вопрос будет «4», а если скрытое число больше 4, нам понадобятся один или два дополнительных вопроса. Пусть наш второй вопрос будет «6». Если скрытое число еще выше 6, нам понадобится третий вопрос, чтобы различать от 7 до 8. Таким образом, наш третий вопрос будет «7», а общая стоимость этого наихудшего сценария составит 4 + 6 + 7 = 17. </p><p> Мы можем значительно улучшить наихудшие затраты для n = 8, задав «5» в качестве нашего первого вопроса. Если нам говорят, что скрытое число выше 5, наш второй вопрос будет «7», тогда мы точно знаем, что такое скрытое число (общая стоимость 5 + 7 = 12). Если нам говорят, что скрытое число меньше 5, наш второй вопрос будет «3», и если скрытое число будет ниже 3, наш третий вопрос будет «1», что даст общую стоимость 5 + 3 + 1 = 9. С 12&gt; 9 наихудшая стоимость для этой стратегии равна 12. Это лучше, чем мы ранее достигали с помощью стратегии «бинарного поиска»; он также лучше или равен любой другой стратегии. Итак, на самом деле мы только что описали оптимальную стратегию для n = 8. </p><p> Пусть C (n) - наихудшая стоимость, достигаемая оптимальной стратегией для n, как описано выше. Таким образом, C (1) = 0, C (2) = 1, C (3) = 2 и C (8) = 12. Аналогично, C (100) = 400 и C (n) = 17575. </p><p> Найти C (n). </p></section>
## Instructions
<section id="instructions">
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: ''
testString: 'assert.strictEqual(euler328(), 260511850222, "<code>euler328()</code> should return 260511850222.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function euler328() {
// Good luck!
return true;
}
euler328();
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>