Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.12.2021
Сообщений: 4

Магическая шляпа

11.12.2021, 18:17. Показов 1319. Ответов 1

Студворк — интернет-сервис помощи студентам
Сегодня Вася среди старых вещей нашел магическую шляпу и инструкцию по созданию шариков с её помощью. Исходно шляпа пустая. В инструкции описаны 3 заклинания, позволяющие провести магический ритуал. У заклинаний следующие эффекты:

1 — Увеличение количества шариков в шляпе на 1;

2 — Увеличение количества шариков в шляпе в 2 раза;

3 — Увеличиние количества шариков в шляпе в 3 раза.

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

К Васе в гости пришло N его друзей. Он хочет им продемонстрировать свою находку. Для этого, он собирается исполнить магический ритуал, после которого в изначально пустой шляпе появится ровно N шариков, которые Вася хочет раздать каждому из своих друзей. Чтобы не сильно задерживать друзей, он хочет, чтобы в ритуале было как можно меньше заклинаний.

Найдите кратчайший по количеству заклинаний магический ритуал, после которого в шляпе окажется ровно N шариков.

Формат результата
В поле ответа введите последовательность номеров заклинаний (цифры от 1 до 3) без пробелов, после которой в шляпе окажется ровно N шариков. Последовательность должна быть минимальной длины.

Например, если N = 7, то один из возможных ответов это «1321» (без кавычек): после первого заклинания в шляпе появится 1 шарик, после второго в шляпе будет 3 шарика, после третьего 6, после четвертого – 7.

Примечания
Если вы ввели последовательность действий, которая в конце дает ровно N шариков, но она не оптимальной длины, ваш балл за тест будет равен MAX(10 - (Pans - Jans), 0), где Pans – длина вашего ответа, а Jans – длина ответа жюри. Т.е. за каждый символ, на который ваш ответ длиннее ответа жюри, за тест будет сниматься один балл, но балл за тест не может стать отрицательным.

Решить нужно на Python 3
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.12.2021, 18:17
Ответы с готовыми решениями:

Магическая последовательность
Даны последовательности: 1 11 21 1211 111221

Отличная шляпа
В древнем, раскинувшемся на многие мили городе Анк-Морпорке, на бархатной подушке, лежащей на полке на одном из верхних этажей Незримого...

Отличная шляпа
В древнем, раскинувшемся на многие мили городе Анк-Морпорке, на бархатной подушке, лежащей на полке на одном из верхних этажей Незримого...

1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
12.12.2021, 16:03
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
n = int(input())
res = ''
while n > 3:
    if n % 3 == 0:
        n //= 3
        res += '3'
    elif n % 2 == 0:
        n //= 2
        res += '2'
    else:
        n -= 1
        res += '1'
if n == 3:
    res += '31'
elif n == 2:
    res += '21'
print(res[::-1])
какие то баллы наберешь может.
если хочешь найти оптимальную длину, ДП с восстановлением ответа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.12.2021, 16:03
Помогаю со студенческими работами здесь

Задача "Магическая математика"
В царстве фей все немного отличается от царства людей. Так, в начальной школе феи изучают магическую математику. Ее основное отличие от...

Шляпа
Шляпа Летом Максим съездил в Летнюю Какую-то Школу, где, помимо учёбы, ему очень запомнилась игра «Шляпа», в которую он вместе с друзьями...

Магическая последовательность
Даны последовательности: 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, . . . Выпишите К-ю последовательность. Input Output 4...

Магическая штучка
Помогите, голову сломала...

Магическая ошибка
Есть вот такая рекурсивная функция: int strt(vector <vector <int>> &cards, int i) { int raw = 0; for (int i2 = 0; i2 <...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru