---
id: 5900f4cd1000cf542c50ffdf
challengeType: 5
title: 'Problem 352: Blood tests'
videoUrl: ''
localeTitle: 问题352：验血
---

## Description
<section id="description">必须对一群羊中的25只绵羊中的每一只进行稀有病毒检测，已知这种病毒会影响2％的绵羊群体。对血液样品存在准确且极其灵敏的PCR测试，产生明显的阳性/阴性结果，但是它非常耗时且昂贵。 <p>由于成本高，负责人建议不要进行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个个体测试结果为阴性，则不需要对第五个动物进行测试（我们知道它必须被感染）。我们可以在每组中尝试不同数量的组/不同数量的动物，在每个级别调整这些数字，以便最小化测试的总预期数量。 </p><p>为了简化各种各样的可能性，我们在设计最具成本效益的测试方案时有一个限制：每当我们从混合样本开始时，必须对所有对该样本做出贡献的绵羊进行全面筛选（即对感染的判断）在我们开始检查任何其他动物之前，必须达到/无病毒。 </p><p>对于当前的例子，事实证明，最具成本效益的测试方案（我们称之为最优策略）需要平均只需4.155452次测试！ </p><p>使用最优策略，让T（s，p）代表筛选一群绵羊所需的平均测试次数，以获得任何个体中存在概率p的病毒。因此，四舍五入到小数点后六位，T（25,0.02）= 4.155452，T（25,0.10）= 12.702124。 </p><p>找到ΣT（10000，p），p = 0.01,0.02,0.03，...... 0.50。将您的答案四舍五入到小数点后六位。 </p></section>

## Instructions
<section id="instructions">
</section>

## Tests
<section id='tests'>

```yml
tests:
  - text: <code>euler352()</code>应该返回378563.260589。
    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>
