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
|
||
```
|