45 lines
1.1 KiB
Markdown
45 lines
1.1 KiB
Markdown
|
---
|
||
|
id: 5900f4371000cf542c50ff49
|
||
|
title: 'Problem 202: Laserbeam'
|
||
|
challengeType: 5
|
||
|
forumTopicId: 301843
|
||
|
dashedName: problem-202-laserbeam
|
||
|
---
|
||
|
|
||
|
# --description--
|
||
|
|
||
|
Three mirrors are arranged in the shape of an equilateral triangle, with their reflective surfaces pointing inwards. There is an infinitesimal gap at each vertex of the triangle through which a laser beam may pass.
|
||
|
|
||
|
Label the vertices A, B and C. There are 2 ways in which a laser beam may enter vertex C, bounce off 11 surfaces, then exit through the same vertex: one way is shown below; the other is the reverse of that.
|
||
|
|
||
|
There are 80840 ways in which a laser beam may enter vertex C, bounce off 1000001 surfaces, then exit through the same vertex.
|
||
|
|
||
|
In how many ways can a laser beam enter at vertex C, bounce off 12017639147 surfaces, then exit through the same vertex?
|
||
|
|
||
|
# --hints--
|
||
|
|
||
|
`euler202()` should return 1209002624.
|
||
|
|
||
|
```js
|
||
|
assert.strictEqual(euler202(), 1209002624);
|
||
|
```
|
||
|
|
||
|
# --seed--
|
||
|
|
||
|
## --seed-contents--
|
||
|
|
||
|
```js
|
||
|
function euler202() {
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
euler202();
|
||
|
```
|
||
|
|
||
|
# --solutions--
|
||
|
|
||
|
```js
|
||
|
// solution required
|
||
|
```
|