|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
||||||
Из заданного числа используя заданный набор операций получить единицу12.07.2018, 20:00. Показов 8213. Ответов 51
Метки нет (Все метки)
Кликните здесь для просмотра всего текста
(Название задачи -) Число - 3
(Время: 1 сек. Память: 16 Мб Сложность: 35%) Дано натуральное число N. Над ним можно произвести следующий набор операций: вычитать единицу; делить на три, если число кратно трем; делить на два, если число четное. После выполнения одной из операций к полученному результату также можно применить указанные операции, и делается это до тех пор, пока результат не окажется равным 1. Входные данные Входной файл INPUT.TXT содержит натуральное число N (N ≤ 10^6). Выходные данные В выходной файл OUTPUT.TXT выведите наименьшее количество операций, в результате выполнения которых будет получена единица. Примеры
Задача относится к теме Динамическое программирование но я не могу понять где тут динамика. Хотя решил порядка 10 задач на динамику. Буду благодарен за любой совет или код
1
|
||||||
| 12.07.2018, 20:00 | |
|
Ответы с готовыми решениями:
51
Возведение заданного целое числа в целую неотрицательную степень, используя минимум операций умножения Замена четных цифр заданного числа на единицу |
|
483 / 275 / 57
Регистрация: 08.10.2015
Сообщений: 1,194
|
||
| 13.07.2018, 10:04 | ||
|
Biger18, Вы невнимательно прочли задание.
1
|
||
|
Заблокирован
|
|
| 13.07.2018, 10:28 | |
|
1
|
|
|
Комп_Оратор)
|
|||
| 13.07.2018, 11:19 | |||
|
А последний пост: https://www.cyberforum.ru/post12536921.html это таки попытка накарябать динамический вариант. Все промежуточные результаты сохраняются и применяются как готовые при необходимости повторного использования без пересчёта (повторных вычислений). Вроде работает. Я ещё когда писал про Байт, ответьте мне честно и помужски. Это правда, что деление на 2 - замунуха отвлекательная? Я обошёлся без этой операции потому как верю, что удаление единицы (или последовательное удаление 2-х единиц по одной) с последующим делением на 3 - никогда не хуже, но иногда лучше чем деление пополам. Верно ли это?
1
|
|||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
|
||
| 13.07.2018, 11:28 | ||
![]() например число 16 деление на 2 16/2=8 8/2=4 4/2=2 2/2=1 4 операции без деления на 2 16-1=15 15/3=5 5-1=4 4-1=3 3/3=1 пять операций
2
|
||
|
Комп_Оратор)
|
||
| 13.07.2018, 11:48 | ||
![]() Может это только со степенями двойки так? Добавлено через 13 минут Похоже, что если число не делится на 3 но делится на 4, то уже выгоднее делить на 2 дважды чем вычесть хотябы 1 а потом делить на 3. Если это так то изменения в алгоритме могут быть минимальны.
1
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
|
|||||||
| 13.07.2018, 11:56 | |||||||
|
вот так например
интересно а есть степень двойки кратная трем так навскидку не нахожу
2
|
|||||||
|
Комп_Оратор)
|
|||
| 13.07.2018, 11:58 | |||
|
Добавлено через 1 минуту
1
|
|||
|
483 / 275 / 57
Регистрация: 08.10.2015
Сообщений: 1,194
|
||||||
| 13.07.2018, 12:02 | ||||||
|
Например: (на Билдер5)
1
|
||||||
|
165 / 114 / 59
Регистрация: 12.07.2018
Сообщений: 277
|
||||||
| 13.07.2018, 12:17 | ||||||
1
|
||||||
|
483 / 275 / 57
Регистрация: 08.10.2015
Сообщений: 1,194
|
|
| 13.07.2018, 12:50 | |
|
Biger18, прошу прощения, не разобрался. Ваш второй вариант работает прекрасно!
1
|
|
|
Комп_Оратор)
|
|||||||
| 13.07.2018, 15:27 | |||||||
|
Кликните здесь для просмотра всего текста
1
|
|||||||
|
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
|
||
| 13.07.2018, 17:35 | ||
|
1
|
||
|
Комп_Оратор)
|
||||||
| 13.07.2018, 18:59 | ||||||
|
Вот. Устранил ещё одну неточность и попробовал замерять время в сравнении с Biger18. Тут нет никакого желания померяться чем-то. Просто больше не с чем сравнить. За рабочий код Biger18 - отдельное спасибо.
Я не гнался за скоростью выполнив много лишних движений и упаковав задачу в объект, но главное (даже если в алгоритме что-то не так) это динамический подход. Не думаю, что он так уж хорош у меня, но он есть. То есть все промежуточные результаты сохраняются и используются повторно. Поэтому (если я не напортачил где-то) разница в скорости в 50 раз.
1
|
||||||
|
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
|
||||||
| 13.07.2018, 19:23 | ||||||
|
150 строк?!
Добавлено через 1 минуту Не понимаю что тут 2 страницы обсуждали...
1
|
||||||
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
| 13.07.2018, 19:40 [ТС] | |
|
Байт, Новичок Проверял 4 раза ваш алгоритм и всё время ответ 4 выходил на тесте 10 вместо 3,
![]() Мдаа, ещё раз убедился в том что самый злейший враг программиста это сон ![]() Всем огромное спасибо за то что приняли участие в обсуждении данной задачи, особенно IGPIGP. Много интересного узнал из ваших постов, приму на вооружение в будущем. Новичок да вы были правы! Ваш алгоритм правильный как и алгоритм Байта прошу простить за невнимательность За это лето я должен прорешать туевую кучу задач на динамику и думаю это моя не последняя тема на этом форуме ![]()
1
|
|
|
Комп_Оратор)
|
||||||||
| 13.07.2018, 20:51 | ||||||||
0
|
||||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||||
| 13.07.2018, 22:44 | ||||
![]() Добавлено через 2 минуты Добавлено через 8 минут Не по теме:
И, будучи от природы въедливым, я эту рекомендацию на многое обобщил. Чего и вам желаю!
2
|
||||
|
Комп_Оратор)
|
|||
| 13.07.2018, 22:44 | |||
0
|
|||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 13.07.2018, 22:53 | ||
|
Не по теме: В частности. Совершенно незакомый с эзотерикой местный сторож, мой наставник в обращении с инструментами, на вопрос - "Как понять, что пила уже тупая?", ответил просто - "Как только работа с ней перестает доставлять тебе удовольствие" Добавлено через 5 минут
0
|
||
|
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
|
|
| 13.07.2018, 22:55 | |
|
1
|
|
| 13.07.2018, 22:55 | |
|
Опpеделить пpомежуток минимальной длины, содеpжащий заданный набор числа Установить в единицу каждый второй бит заданного целого числа
Из одного числа получить второе, заменив каждую цифру на единицу
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|