|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
||||||
Из заданного числа используя заданный набор операций получить единицу12.07.2018, 20:00. Показов 7950. Ответов 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,190
|
||
| 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,875
|
||
| 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,875
|
|||||||
| 13.07.2018, 11:56 | |||||||
|
вот так например
интересно а есть степень двойки кратная трем так навскидку не нахожу
2
|
|||||||
|
Комп_Оратор)
|
|||
| 13.07.2018, 11:58 | |||
|
Добавлено через 1 минуту
1
|
|||
|
483 / 275 / 57
Регистрация: 08.10.2015
Сообщений: 1,190
|
||||||
| 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,190
|
|
| 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жащий заданный набор числа Установить в единицу каждый второй бит заданного целого числа
Из одного числа получить второе, заменив каждую цифру на единицу
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|