55 lines
6.4 KiB
Markdown
55 lines
6.4 KiB
Markdown
|
---
|
|||
|
id: 5900f4cd1000cf542c50ffdf
|
|||
|
challengeType: 5
|
|||
|
title: 'Problem 352: Blood tests'
|
|||
|
videoUrl: ''
|
|||
|
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 индивидуальных теста оказываются отрицательными, нет необходимости проводить тест на пятом животном (мы знаем, что он должен быть инфицирован). Мы можем попробовать различное количество групп / различное количество животных в каждой группе, регулируя эти числа на каждом уровне, чтобы общее ожида
|
|||
|
|
|||
|
## Instructions
|
|||
|
undefined
|
|||
|
|
|||
|
## Tests
|
|||
|
<section id='tests'>
|
|||
|
|
|||
|
```yml
|
|||
|
tests:
|
|||
|
- text: ''
|
|||
|
testString: 'assert.strictEqual(euler352(), 378563.260589, "<code>euler352()</code> should return 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>
|