3.4 KiB
id | challengeType | title | videoUrl | localeTitle |
---|---|---|---|---|
5900f49a1000cf542c50ffac | 5 | Problem 300: Protein folding | Проблема 300: Складывание белка |
Description
Когда вы сталкиваетесь с этими строками в природе, они всегда складываются таким образом, что число точек контакта HH максимально велико, так как это энергетически выгодно. В результате Н-элементы, как правило, накапливаются во внутренней части, причем Р-элементы снаружи. Естественные белки, конечно, сложены в трех измерениях, но мы будем рассматривать только складку белка в двух измерениях.
На следующем рисунке показаны два возможных способа сгибания нашего примера белка (точки контакта HH показаны красными точками).
Складывание слева имеет только шесть контактных точек HH, поэтому оно никогда не будет происходить естественным образом. С другой стороны, складка справа имеет девять точек контакта HH, что является оптимальным для этой строки.
Предполагая, что элементы H и P одинаково вероятны в любой позиции вдоль строки, среднее число точек контакта HH в оптимальном сгибании случайной белковой строки длиной 8 оказывается равным 850/28 = 3,3203125.
Каково среднее число контактных точек HH в оптимальном складывании случайной белковой строки длиной 15? Дайте свой ответ, используя столько знаков после запятой, сколько необходимо для точного результата.
Instructions
Tests
tests:
- text: <code>euler300()</code> должен вернуться 8.0540771484375.
testString: 'assert.strictEqual(euler300(), 8.0540771484375, "<code>euler300()</code> should return 8.0540771484375.");'
Challenge Seed
function euler300() {
// Good luck!
return true;
}
euler300();
Solution
// solution required