45 lines
1.8 KiB
Markdown
45 lines
1.8 KiB
Markdown
---
|
||
id: 5900f3e01000cf542c50fef2
|
||
title: 'Завдання 114: Підрахунок комбінацій блоків І'
|
||
challengeType: 5
|
||
forumTopicId: 301740
|
||
dashedName: problem-114-counting-block-combinations-i
|
||
---
|
||
|
||
# --description--
|
||
|
||
Рядок завдовжки сім одиниць містить червоні блоки, мінімальна довжина яких становить три одиниці, тому будь-які два червоні блоки (які можуть бути будь-якої довжини) розділені принаймні одним червоним квадратом. Є рівно 17 способів зробити це.
|
||
|
||
<img class="img-responsive center-block" alt="Можливі способи розміщення кубиків з мінімальною довжиною у три одиниці у рядку довжиною сім одиниць" src="https://cdn.freecodecamp.org/curriculum/project-euler/counting-block-combinations-i.png" style="background-color: white; padding: 10px;" />
|
||
|
||
Скількома способами можна заповнити ряд довжиною 50 одиниць?
|
||
|
||
**Примітка:** Хоча наведений вище приклад не дає такої можливості, загалом дозволяється змішувати розміри блоків. Наприклад, у рядку довжиною вісім одиниць можна використати червоний (3), чорний (1) та червоний (4).
|
||
|
||
# --hints--
|
||
|
||
`countingBlockOne()` повинен повертатися як `16475640049`.
|
||
|
||
```js
|
||
assert.strictEqual(countingBlockOne(), 16475640049);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
function countingBlockOne() {
|
||
|
||
return true;
|
||
}
|
||
|
||
countingBlockOne();
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
// solution required
|
||
```
|