56 lines
3.2 KiB
Markdown
56 lines
3.2 KiB
Markdown
---
|
||
id: 5900f54c1000cf542c51005e
|
||
challengeType: 5
|
||
title: 'Problem 478: Mixtures'
|
||
videoUrl: ''
|
||
localeTitle: 'Задача 478: Смеси'
|
||
---
|
||
|
||
## Description
|
||
<section id="description"> Рассмотрим смеси трех веществ: A, B и C. Смесь может быть описана отношением количеств A, B и C в ней, то есть (a: b: c). Например, смесь, описываемая соотношением (2: 3: 5), содержит 20% А, 30% В и 50% С. <p> Для целей этой проблемы мы не можем отделить отдельные компоненты от смеси. Однако мы можем комбинировать различные количества различных смесей с образованием смесей с новыми соотношениями. </p><p> Например, предположим, что у нас есть три смеси с соотношениями (3: 0: 2), (3: 6: 11) и (3: 3: 4). Путем смешивания 10 единиц первого, 20 единиц второго и 30 единиц третьего, мы получаем новую смесь с соотношением (6: 5: 9), так как: (10 · 3/5 + 20 · 3/20 + 30 · 3/10: 10 · 0/5 + 20 · 6/20 + 30 · 3/10: 10 · 2/5 + 20 · 11/20 + 30 · 4/10) = (18: 15: 27) = (6: 5: 9) </p><p> Однако с теми же тремя смесями невозможно сформировать соотношение (3: 2: 1), так как количество B всегда меньше количества C. </p><p> Пусть n - положительное целое число. Предположим, что для каждой тройки целых чисел (a, b, c) с 0 ≤ a, b, c ≤ n и gcd (a, b, c) = 1 мы имеем смесь с отношением (a: b: c). Пусть M (n) - множество всех таких смесей. </p><p> Например, M (2) содержит 19 смесей со следующими соотношениями: {(0: 0: 1), (0: 1: 0), (0: 1: 1), (0: 1: 2), ( 0: 2: 1), (1: 0: 0), (1: 0: 1), (1: 0: 2), (1: 1: 0), (1: 1: 1) 1: 2), (1: 2: 0), (1: 2: 1), (1: 2: 2), (2: 0: 1), (2: 1: 0), (2: 1: 1), (2: 1: 2), (2: 2: 1)}. </p><p> Пусть E (n) - число подмножеств M (n), которое может производить смесь с соотношением (1: 1: 1), т. Е. Смесь с равными частями A, B и C. Мы можем проверить, что E (1 ) = 103, E (2) = 520447, E (10) mod 118 = 82608406 и E (500) mod 118 = 13801403. Найдите E (10 000 000) мод 118. </p></section>
|
||
|
||
## Instructions
|
||
<section id="instructions">
|
||
</section>
|
||
|
||
## Tests
|
||
<section id='tests'>
|
||
|
||
```yml
|
||
tests:
|
||
- text: <code>euler478()</code> должен возвращать 59510340.
|
||
testString: 'assert.strictEqual(euler478(), 59510340, "<code>euler478()</code> should return 59510340.");'
|
||
|
||
```
|
||
|
||
</section>
|
||
|
||
## Challenge Seed
|
||
<section id='challengeSeed'>
|
||
|
||
<div id='js-seed'>
|
||
|
||
```js
|
||
function euler478() {
|
||
// Good luck!
|
||
return true;
|
||
}
|
||
|
||
euler478();
|
||
|
||
```
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</section>
|
||
|
||
## Solution
|
||
<section id='solution'>
|
||
|
||
```js
|
||
// solution required
|
||
```
|
||
</section>
|