Files

58 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 5900f5381000cf542c51004b
title: 'Завдання 460: Мураха на ходу'
challengeType: 5
forumTopicId: 302135
dashedName: problem-460-an-ant-on-the-move
---
# --description--
На Евклідовій площині мураха подорожує з точки $A(0, 1)$ у точку $B(d, 1)$ за ціле число $d$.
На кожному кроці, мураха в точці ($x_0$, $y_0$) обирає одну з точок решітки ($x_1$, $y_1$), що задовольняє вираз $x_1 ≥ 0$ та $y_1 ≥ 1$, для того, щоб перейти в точку ($x_1$, $y_1$) з постійною швидкістю $v$. Значення $v$ залежить від $y_0$ та $y_1$ наступним чином:
- Якщо $y_0 = y_1$, значення $v$ дорівнює $y_0$.
- Якщо $y_0 ≠ y_1$, значення $v$ дорівнює $\frac{y_1 - y_0}{\ln y_1 - \ln y_0}$.
Зображення ліворуч показує один із можливих шляхів коли $d = 4$. Спочатку мураха рушає з $A(0, 1)$ у $P_1(1, 3)$ зі швидкістю $\frac{3 - 1}{\ln 3 - \ln 1} ≈ 1.8205$. Тоді необхідний для цього час - це $\frac{\sqrt{5}}{1.820} ≈ 1.2283$.
Із точки $P_1(1, 3)$ у точку $P_2(3, 3)$ мураха подорожує зі швидкістю 3, тому необхідний час буде $\frac{2}{3} ≈ 0.6667$. Із точки $P_2(3, 3)$ у точку $B(4, 1)$ мураха подорожує зі швидкістю $\frac{1 - 3}{\ln 1 - \ln 3} ≈ 1.8205$ тому необхідний час буде $\frac{\sqrt{5}}{1.8205} ≈ 1.2283$.
Таким чином, загальний необхідний час буде $1.2283 + 0.6667 + 1.2283 = 3.1233$.
Зображення праворуч демонструє інший шлях. Загальний необхідний час вираховується як $0.98026 + 1 + 0.98026 = 2.96052$. Можна зробити висновок, що це найшвидший шлях для $d = 4$.
<img class="img-responsive center-block" alt="два можливих шляхи для d = 4" src="https://cdn.freecodecamp.org/curriculum/project-euler/an-ant-on-the-move.jpg" style="background-color: white; padding: 10px;" />
Нехай $F(d)$ буде загальним необхідним часом, якщо мураха обирає найшвидший шлях. Наприклад, $F(4) ≈ 2.960\\,516\\,287$. Можемо перевірити, що $F(10) ≈ 4.668\\,187\\,834$ та $F(100) ≈ 9.217\\,221\\,972$.
Знайдіть $F(10\\,000)$. Дайте відповідь, округлену до 9 знаків після коми.
# --hints--
`antOnTheMove()` повинна повернути `18.420738199`.
```js
assert.strictEqual(antOnTheMove(), 18.420738199);
```
# --seed--
## --seed-contents--
```js
function antOnTheMove() {
return true;
}
antOnTheMove();
```
# --solutions--
```js
// solution required
```