freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-352-blood-tests.rus...

58 lines
6.5 KiB
Markdown
Raw Normal View History

---
id: 5900f4cd1000cf542c50ffdf
challengeType: 5
title: 'Problem 352: Blood tests'
forumTopicId: 302012
localeTitle: 'Задача 352: Анализы крови'
---
## Description
<section id='description'>
Каждый из 25 овец в стаде должен быть проверен на наличие редкого вируса, который, как известно, влияет на 2% овец. Для образцов крови существует точный и чрезвычайно чувствительный тест ПЦР, который дает четкий положительный / отрицательный результат, но он очень трудоемкий и дорогостоящий. <p> Из-за высокой стоимости, vet-in-charge предполагает, что вместо выполнения 25 отдельных тестов можно использовать следующую процедуру: овцы разделяются на 5 групп по 5 овец в каждой группе. Для каждой группы 5 образцов смешивают вместе и проводят один тест. Затем, если результат отрицательный, все овечки в этой группе считаются безвирусными. Если результат положительный, будет проведено 5 дополнительных тестов (отдельный тест для каждого животного), чтобы определить пострадавшего человека (лиц). </p><p> Так как вероятность заражения для любого конкретного животного составляет всего 0,02, первый тест (по объединенным образцам) для каждой группы будет: Отрицательный (и больше не требуется тестов) с вероятностью 0,985 = 0,9039207968. Положительный (требуется 5 дополнительных тестов) с вероятностью 1 - 0.9039207968 = 0,0960792032. </p><p> Таким образом, ожидаемое количество тестов для каждой группы составляет 1 + 0.0960792032 × 5 = 1.480396016. Следовательно, все 5 групп могут быть экранированы с использованием в среднем только 1,480396016 × 5 = 7,40198008 тестов, что представляет собой огромную экономию более 70%! </p><p> Хотя схема, которую мы только что описали, кажется очень эффективной, ее все же можно значительно улучшить (всегда полагая, что тест достаточно чувствителен и что нет никаких побочных эффектов, вызванных смешиванием разных образцов). Например: мы можем начать с теста на смесь из всех 25 образцов. Можно проверить, что примерно в 60,35% случаев этот тест будет отрицательным, поэтому больше не потребуется никаких тестов. Дальнейшие испытания потребуются только для остальных 39,65% случаев. Если мы знаем, что по крайней мере одно животное в группе из 5 инфицировано, и первые 4 индивидуальных теста оказываются отрицательными, нет необходимости проводить тест на пятом животном (мы знаем, что он должен быть инфицирован). Мы можем попробовать различное количество групп / различное количество животных в каждой группе, регулируя эти числа на каждом уровне, чтобы общее ожидаемое количеств
</section>
## Instructions
<section id='instructions'>
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: <code>euler352()</code> should return 378563.260589.
testString: assert.strictEqual(euler352(), 378563.260589);
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function euler352() {
// Good luck!
return true;
}
euler352();
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>