59 lines
2.7 KiB
Markdown
59 lines
2.7 KiB
Markdown
---
|
||
id: 5900f4f41000cf542c510007
|
||
title: 'Задача 392: Взаємозалежне одиничне коло'
|
||
challengeType: 5
|
||
forumTopicId: 302057
|
||
dashedName: problem-392-enmeshed-unit-circle
|
||
---
|
||
|
||
# --description--
|
||
|
||
Прямолінійна сітка – це прямокутна сітка, де відстань між лініями не повинна бути рівновіддаленою.
|
||
|
||
Прикладом такої сітки є логарифмічний розграфлений листок.
|
||
|
||
Розглянемо прямолінійні сітки у декартовій системі координат з наступними властивостями:
|
||
|
||
- Сітки є паралельними до осей координатної системи Декарта.
|
||
- Є $N + 2$ вертикальні та $N + 2$ горизонтальні сітки. Отже, це $(N + 1) \times (N + 1)$ прямокутні клітинки.
|
||
- Рівняннями двох зовнішніх вертикальних сіток є $x = -1$ та $x = 1$.
|
||
- Рівняннями двох зовнішніх горизонтальних сіток є are $y = -1$ та $y = 1$.
|
||
- Клітинки сітки позначені червоним, якщо вони перекривають одиничне коло, чорним – якщо навпаки.
|
||
|
||
Для цього завдання вам варто знайти положення залишених $N$ внутрішніх горизонтальних та $N$ внутрішніх вертикальних сіток, аби площа, зайнята червоними клітинками, мінімалізувалася.
|
||
|
||
Наприкл. це малюнок вирішення для $N = 10$:
|
||
|
||
<img class="img-responsive center-block" alt="розв'язок для N = 10" src="https://cdn.freecodecamp.org/curriculum/project-euler/enmeshed-unit-circle.png" style="background-color: white; padding: 10px;" />
|
||
|
||
Площа, зайнята червоними клітинками, для $N = 10$, округлена до 10 знаків після коми, дорівнює 3.3469640797.
|
||
|
||
Знайдіть положення для $N = 400$. У своїй відповіді зазначте площу, зайняту червоними клітинками, округлену до 10 знаків після коми.
|
||
|
||
# --hints--
|
||
|
||
`enmeshedUnitCircle()` має вивести `3.1486734435`.
|
||
|
||
```js
|
||
assert.strictEqual(enmeshedUnitCircle(), 3.1486734435);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
function enmeshedUnitCircle() {
|
||
|
||
return true;
|
||
}
|
||
|
||
enmeshedUnitCircle();
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
// solution required
|
||
```
|