57 lines
2.2 KiB
Markdown
57 lines
2.2 KiB
Markdown
---
|
||
id: 5900f4971000cf542c50ffaa
|
||
title: 'Завдання 299: Три подібні трикутники'
|
||
challengeType: 5
|
||
forumTopicId: 301951
|
||
dashedName: problem-299-three-similar-triangles
|
||
---
|
||
|
||
# --description--
|
||
|
||
Визначено чотири точки з цілими координатами:
|
||
|
||
$A(a, 0)$, $B(b, 0)$, $C(0, c)$ і $D(0, d)$, з $0 < a < b$ і $0 < c < d$.
|
||
|
||
Точка $P$, також з цілими координатами, знаходиться на лінії $AC$ так, щоб $ABP$, $CDP$ і $BDP$ були подібні.
|
||
|
||
<img class="img-responsive center-block" alt="точки A, B, C, D і P створюють три трикутники: ABP, CDP, та BDP" src="https://cdn.freecodecamp.org/curriculum/project-euler/three-similar-triangles.gif" style="background-color: white; padding: 10px;" />
|
||
|
||
Легко довести, що трикутники можуть бути подібними, якщо $a = c$.
|
||
|
||
Отже, знаючи, що $a = c$, ми шукаємо триплети ($a$, $b$, $d$) де принаймні одна точка $P$ (з цілими координатами) існує на $AC$, роблячи три подібні трикутники $ABP$, $CDP$ та $BDP$.
|
||
|
||
Наприклад, якщо $(a, b, d) = (2, 3, 4)$, можна легко підтвердити, що точка $P(1, 1)$ задовольняє вимоги завдання. Зверніть увагу, що (2,3,4) і (2,4,3) вважаються окремими, хоча точка $P(1, 1)$ для них спільна.
|
||
|
||
Якщо $b + d < 100$, то існує 92 триплети ($a$, $b$, $d$) у яких є точка $P$.
|
||
|
||
Якщо $b + d < 100\\,000$, то існує 320471 триплети ($a$, $b$, $d$), які мають точку $P$.
|
||
|
||
Якщо $b + d < 100\\,000\\,000$,скільки буде триплетів ($a$, $b$, $d$) з точкою $P$?
|
||
|
||
# --hints--
|
||
|
||
`threeSimilarTriangles()` має повернути `549936643`.
|
||
|
||
```js
|
||
assert.strictEqual(threeSimilarTriangles(), 549936643);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
function threeSimilarTriangles() {
|
||
|
||
return true;
|
||
}
|
||
|
||
threeSimilarTriangles();
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
// solution required
|
||
```
|