47 lines
2.0 KiB
Markdown
47 lines
2.0 KiB
Markdown
![]() |
---
|
|||
|
id: 5900f4371000cf542c50ff49
|
|||
|
title: 'Завдання 202: Лазерний промінь'
|
|||
|
challengeType: 5
|
|||
|
forumTopicId: 301843
|
|||
|
dashedName: problem-202-laserbeam
|
|||
|
---
|
|||
|
|
|||
|
# --description--
|
|||
|
|
|||
|
Три дзеркала розташовано в формі рівностороннього трикутника таким чином, що їх поверхні, які відбивають світло, повернуті всередину. На кожній вершині цього трикутника є дуже маленька прогалина, через яку може пройти лазерний промінь.
|
|||
|
|
|||
|
Позначимо вершини $A$, $B$ і $C$. Лазерний промінь може ввійти в вершину $C$, відбитись від 11 поверхонь і вийти через ту саму вершину 2 способами: перший наведено нижче; другий є протилежним до нього.
|
|||
|
|
|||
|
<img class="img-responsive center-block" alt="один зі способів, як лазерний промінь може ввійти в вершину C, це відбитись від 11 поверхонь і вийти через ту саму вершину" src="https://cdn.freecodecamp.org/curriculum/project-euler/laserbeam.gif" style="background-color: white; padding: 10px;" />
|
|||
|
|
|||
|
Лазерний промінь може ввійти в вершину $C$, відбитись від 1000001 поверхні та вийти через ту саму вершину 80840 способами.
|
|||
|
|
|||
|
Скількома способами лазерний промінь може ввійти в вершину $C$, відбитись від 12017639147 поверхонь і вийти через ту саму вершину?
|
|||
|
|
|||
|
# --hints--
|
|||
|
|
|||
|
`laserbeam()` має видати `1209002624`.
|
|||
|
|
|||
|
```js
|
|||
|
assert.strictEqual(laserbeam(), 1209002624);
|
|||
|
```
|
|||
|
|
|||
|
# --seed--
|
|||
|
|
|||
|
## --seed-contents--
|
|||
|
|
|||
|
```js
|
|||
|
function laserbeam() {
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
laserbeam();
|
|||
|
```
|
|||
|
|
|||
|
# --solutions--
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|