56 lines
2.5 KiB
Markdown
56 lines
2.5 KiB
Markdown
|
---
|
|||
|
id: 5900f4411000cf542c50ff53
|
|||
|
challengeType: 5
|
|||
|
title: 'Problem 212: Combined Volume of Cuboids'
|
|||
|
videoUrl: ''
|
|||
|
localeTitle: 'Задача 212: Комбинированный объем кубоидов'
|
|||
|
---
|
|||
|
|
|||
|
## Description
|
|||
|
<section id="description"> Выровненный по оси кубоид, заданный параметрами {(x0, y0, z0), (dx, dy, dz)}, состоит из всех точек (X, Y, Z) таких, что x0 ≤ X ≤ x0 + dx, y0 ≤ Y ≤ y0 + dy и z0 ≤ Z ≤ z0 + dz. Объем кубоида - это произведение, dx × dy × dz. Объединенный объем коллекции кубоидов - это объем их объединения и будет меньше суммы отдельных томов, если любые кубоиды перекрываются. <p> Пусть C1, ..., C50000 представляют собой набор из 50000 выровненных по оси кубоидов, так что Cn имеет параметры </p><p> x0 = S6n-5 по модулю 10000y0 = S6n-4 по модулю 10000z0 = S6n-3 по модулю 10000dx = 1 + (S6n-2 по модулю 399) dy = 1 + (S6n-1 по модулю 399) dz = 1 + (S6n по модулю 399) </p><p> где S1, ..., S300000 исходят от генератора «Отложенного Фибоначчи»: </p><p> Для 1 ≤ k ≤ 55, Sk = [100003 - 200003k + 300007k3] (по модулю 1000000) Для 56 ≤ k Sk = [Sk-24 + Sk-55] (по модулю 1000000) </p><p> Таким образом, C1 имеет параметры {(7,53,183), (94,369,56)}, C2 имеет параметры {(2383,3563,5079), (42,212,344)} и т. Д. </p><p> Комбинированный объем первых 100 кубоидов, C1, ..., C100, составляет 723581599. </p><p> Что такое объединенный объем всех 50000 кубоидов, C1, ..., C50000? </p></section>
|
|||
|
|
|||
|
## Instructions
|
|||
|
<section id="instructions">
|
|||
|
</section>
|
|||
|
|
|||
|
## Tests
|
|||
|
<section id='tests'>
|
|||
|
|
|||
|
```yml
|
|||
|
tests:
|
|||
|
- text: <code>euler212()</code> должен возвращать 328968937309.
|
|||
|
testString: 'assert.strictEqual(euler212(), 328968937309, "<code>euler212()</code> should return 328968937309.");'
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Challenge Seed
|
|||
|
<section id='challengeSeed'>
|
|||
|
|
|||
|
<div id='js-seed'>
|
|||
|
|
|||
|
```js
|
|||
|
function euler212() {
|
|||
|
// Good luck!
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
euler212();
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Solution
|
|||
|
<section id='solution'>
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|
|||
|
</section>
|