Задача про цветной кубик
easy

Задача про цветной кубик

Раскрась кубик правильно.

Один блогер-художник провёл конкурс в своём инстаграме и выбрал 35 победителей. Каждому из них он пообещал раскрашенный дизайнерский куб с уникальной окраской. Всего у художника 6 цветов, смешивать цвета он не любит и каждую грань он окрашивает в свой цвет. 

Сможет ли блогер сдержать обещание и сделать 35 уникальных раскрасок кубиков? Помните, что если два кубика можно повернуть так, чтобы у них совпали по цветам все грани, это считается одинаковой окраской.

Сначала посчитаем, сколько вообще вариантов раскраски кубика можно сделать даже с повторениями. Для этого представим, что мы взяли кубик и он никак не вращается. Тогда получается так:

  1. Переднюю грань мы можем раскрасить в 6 разных цветов.
  2. Заднюю грань — в 5 цветов (потому что один цвет уже ушёл на переднюю грань).
  3. Верхнюю — в 4 цвета.
  4. Нижнюю — в 3 цвета.
  5. Левую — в 2 цвета.
  6. И на правую грань у нас останется какой-то один цвет.

Чтобы найти общее количество таких вариантов раскрасок, нужно перемножить эти числа: 1 × 2 × 3 × 4 × 5 × 6 = 720. Это максимальное количество всех вариантов покраски. Среди них обязательно будут неуникальные варианты, когда мы, например, развернём кубик и получим точно такой окрас, как и в другом случае.

Теперь посчитаем, сколько различных положений на старте может принимать куб. Благодаря этому мы узнаем количество повторов, которые получатся при окраске.

Когда мы берём куб в руки лицом к себе, мы можем это сделать шестью разными способами, потому что у куба 6 граней. Ещё мы можем 4 раза вращать его по часовой стрелке, глядя на ту же лицевую сторону. Получается, у нас есть 24 варианта, чтобы зафиксировать куб в одной позиции на старте. Это и есть количество повторов при окраске, потому что мы можем повернуть куб так, как нам нужно, чтобы найти дубль.

В итоге у нас есть 720 вариантов окраски и 24 положения на старте. Теперь мы можем узнать количество уникальных окрасов, разделив одно на другое: 720 / 24 = 30.

Получается, что блогер-художник сможет отправить уникальные кубики только 30 победителям, а 5 остальных получат уже неуникальную раскраску. А всё потому, что блогер плохо знал математику и не дружил с алгоритмами.

А зачем мне это?

Умение сокращать варианты и находить минимально достаточные действия — важное качество для программиста. Благодаря ему у нас появляются короткие оптимальные алгоритмы, а не раздутые на сотни строк кода, которые постоянно проверяют одно и то же и зря тратят машинное время.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Олег Вешкурцев

Любите такие задачи? Подойдите поближе
Внизу кнопка, при нажатии на нее вы попадете на витрину курсов «Практикума» с нуля. Выбираете там то, что вам близко, и погружаетесь в профессию. Через год-полтора вы работаете в какой-нибудь ИТ-компании. И там вы решаете подобные задачи, но уже за деньги. Старт бесплатно.
Начать бесплатно
Любите такие задачи? Подойдите поближе Любите такие задачи? Подойдите поближе Любите такие задачи? Подойдите поближе Любите такие задачи? Подойдите поближе
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Попал программист в больницу, и началось

Бывает так, что написать код и узнать результат проще, чем делать всё руками.

easy
Тревелблогеры в пустыне

Математика против дешевых инстаграмных амбиций.

easy
Задача про безумного рекрутера и большой офис
Задача про безумного рекрутера и большой офис

Вот что бывает, когда начинаешь бесконтрольно нанимать людей, — внезапно заканчивается место в офисе.

easy
Проверьте свою логику в задаче про самолёт

Олимпиадная задачка для пятого класса — справитесь?

easy
Как взорвать ракету одной переменной
Как взорвать ракету одной переменной

Краткий мастер-класс по правильному объявлению типов данных.

easy
Что выгоднее: купить товар по скидке или без неё?
Что выгоднее: купить товар по скидке или без неё?
Хитрые ребусы с логикой и математикой
Хитрые ребусы с логикой и математикой

Кто решит, тот заслужил выходной

medium
Парадокс средней оценки

Как такое возможно: сделать всё по отдельности лучше всех, но проиграть в общем зачёте?

hard
Программист и бизнес-план
Программист и бизнес-план

Простая задача со сложными условиями

easy
easy