66 lines
2.8 KiB
Markdown
66 lines
2.8 KiB
Markdown
---
|
||
id: 5900f3c61000cf542c50fed9
|
||
title: 'Завдання 90: Пари цифр на кубиках'
|
||
challengeType: 5
|
||
forumTopicId: 302207
|
||
dashedName: problem-90-cube-digit-pairs
|
||
---
|
||
|
||
# --description--
|
||
|
||
На кожній із шести граней куба написана інша цифра (від 0 до 9); те саме зроблено і з другим кубом. Розмістивши два кубики поруч у різних положеннях, ми можемо сформувати різноманітні двозначні числа.
|
||
|
||
Наприклад, можна сформувати квадратне число 64:
|
||
|
||
<img class="img-responsive center-block" alt="два куби: один з числом 6, інший з числом 4" src="https://cdn-media-1.freecodecamp.org/project-euler/cube-digit-pairs.png" style="background-color: white; padding: 10px;" />
|
||
|
||
Взагалі, ретельно вибираючи цифри на обох кубиках, можна відобразити всі квадратні числа нижче сотні: 01, 04, 09, 16, 25, 36, 49, 64 та 81.
|
||
|
||
Наприклад, можна вибрати {0, 5, 6, 7, 8, 9} на одному кубі та {1, 2, 3, 4, 8, 9} на іншому кубі.
|
||
|
||
Проте для цього потрібно допустити, щоб 6 або 9 були перевернутими так, щоб варіанти типу {0, 5, 6, 7, 8, 9} і {1, 2, 3, 4, 6, 7} дозволяли відображати всі дев'ять квадратних чисел; в іншому випадку було б неможливо отримати 09.
|
||
|
||
У визначенні чіткого варіанту важливі цифри на кожному кубі, а не їхній порядок.
|
||
|
||
<div style="margin-left: 4em;">
|
||
{1, 2, 3, 4, 5, 6} дорівнює {3, 6, 4, 1, 2, 5}<br>
|
||
{1, 2, 3, 4, 5, 6} відрізняється від {1, 2, 3, 4, 5, 9}
|
||
</div>
|
||
|
||
Але оскільки ми допускаємо, щоб 6 та 9 були оберненими, то два різні набори в попередньому прикладі відображають розширений набір {1, 2, 3, 4, 5, 6, 9} для формування 2-значних чисел.
|
||
|
||
Скільки різних варіантів цифр на двох кубах уможливлюють відображення всіх квадратних чисел?
|
||
|
||
# --hints--
|
||
|
||
`cubeDigitPairs()` має повернути число.
|
||
|
||
```js
|
||
assert(typeof cubeDigitPairs() === 'number');
|
||
```
|
||
|
||
`cubeDigitPairs()` має повернути 1217.
|
||
|
||
```js
|
||
assert.strictEqual(cubeDigitPairs(), 1217);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
function cubeDigitPairs() {
|
||
|
||
return true;
|
||
}
|
||
|
||
cubeDigitPairs();
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
// solution required
|
||
```
|