--- id: 5900f49a1000cf542c50ffac title: 'Завдання 300: Згортання білка' challengeType: 5 forumTopicId: 301954 dashedName: problem-300-protein-folding --- # --description-- Якщо говорити простими словами, білки — це ланцюги, які складаються з гідрофобних (H) та полярних елементів, наприклад таких HHPPHHHPHHPH. Для цього завдання, орієнтація білка така ж важлива, наприклад HPP відрізняється від PPH. Таким чином, є $2^n$ різні білки, що складаються з $n$ елементів. Коли будь-що стикається з цими ланцюгами в природі, вони згортаються таким чином, що кількість точок дотику H-H настільки велика, наскільки це можливо, що є енергетично вигідним. У результаті H-елементи, як правило, накопичуються у внутрішній частині, у той час, як P-елементи — у зовнішній. Природні білки, звісно, згортаються в тривимірному просторі, але ми розглядатимемо цей процес у двовимірній площині. На зображенні нижче показні два можливих способи, як можуть згортатися білки (точки контакту Н-Н виділені червоними точками). два можливих приклади згортання білків Приклад зліва має лише 6 точок дотику, чого ніколи не трапляється в природі. З іншого боку, протеїн праворуч має дев'ять точок дотику H-H, що є оптимальним. Припускаючи, що H- та P-елементи з однаковою ймовірністю трапляються в межах цього ланцюга, середня кількість точок дотику H-H за оптимальних умов випадкової стрічки білка довжиною 8 — $\frac{850}{2^8} = 3.3203125$. Якою буде середня кількість дочок дотику H-H у випадковій стрічці, що згортається за сприятливих умов і має довжину 15? Для точнішої відповіді можна залишати стільки знаків після коми, скільки потрібно. # --hints-- `proteinFolding()` має повернути `8.0540771484375`. ```js assert.strictEqual(proteinFolding(), 8.0540771484375); ``` # --seed-- ## --seed-contents-- ```js function proteinFolding() { return true; } proteinFolding(); ``` # --solutions-- ```js // solution required ```