|
3 / 3 / 0
Регистрация: 12.04.2021
Сообщений: 55
|
|
Определить наименьшее число операций для того, чтобы используя заданные операции получить из числа 1 заданное число N25.06.2021, 14:21. Показов 24330. Ответов 29
Задача с курсов сириуса, прошу смотреть на примеры ввода и вывода, спасибо заранее за помощьв решении задачи (никак не могу код написать)
Имеется калькулятор, который выполняет три операции: прибавить к числу X единицу; умножить число X на 2; умножить число X на 3. Определите, какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N. Входные данные Программа получает на вход одно число, не превосходящее 106. Выходные данные Требуется вывести одно число: наименьшее количество искомых операций. Примеры Ввод: 32718 Вывод: 17 Ввод: 1 Вывод: 0 Ввод: 5 Вывод: 3
0
|
|
| 25.06.2021, 14:21 | |
|
Ответы с готовыми решениями:
29
Определить, какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N Какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N Определите, какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N |
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,351
|
||
| 27.06.2021, 10:23 | ||
|
Добавлено через 53 минуты У меня чёто не хватает интеллекта. Если нету математического решения, остаётся перебор вариантов - а это фантастические цифры. Можно решать тупо в лоб: пробовать поделить на три, если не делится - пробовать поделить на 2, если не делится - отнимать единицу - но это не гарантирует оптимального варианта. Кто-то решил? Код не нужен, сам алгоритм?
0
|
||
|
3 / 3 / 0
Регистрация: 12.04.2021
Сообщений: 55
|
|
| 27.06.2021, 10:29 [ТС] | |
|
alexu_007, я уже пометил ответ, мемоизация - в программировании сохранение результатов выполнения функций для предотвращения повторных вычислений. Мне не хватало времени с рекурсией, и надо было использовать это, тема цже закрыта.
0
|
|
|
Вездепух
13235 / 6867 / 1827
Регистрация: 18.10.2014
Сообщений: 17,400
|
||
| 27.06.2021, 19:31 | ||
|
0
|
||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,351
|
||
| 27.06.2021, 22:34 | ||
|
32718 3 ( /3 ) 10906 2 ( /2 ) 5453 1 ( -1 ) 5452 2 2726 2 1363 1 1362 3 454 2 и так далее. Или в обратном порядке от единицы.
0
|
||
|
Вездепух
13235 / 6867 / 1827
Регистрация: 18.10.2014
Сообщений: 17,400
|
||||
| 27.06.2021, 22:58 | ||||
mem[i] - это длина решения для i. Неужели так трудно догадаться?mem[i] напротив i+1? Чтобы "интереснее" было разбираться?
0
|
||||
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
|
| 27.06.2021, 23:00 | |
|
alexu_007 вы немножко не о вывели, в каждом элементе вектора mem хранятся значения минимального количества операций, необходимых для получения числа равного индексу этого элемента. Что касается операций, можно, например, ещё один такой массив завести, в котором сохранять идентификаторы операций. Тогда можно будет проследить весь путь.
0
|
|
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,351
|
|||
| 28.06.2021, 00:26 | |||
|
(i+1) - это порядковый номер, начиная с единицы.
0
|
|||
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
||
| 28.06.2021, 00:38 | ||
|
Можно усложнить дело, обернуть их в объекты, и добавить функционал, например, при скармливании им их индекса в массиве они возвращают индекс предыдущего объекта и т.д., но эту уж так на любителя.
0
|
||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,351
|
||
| 28.06.2021, 00:55 | ||
|
Дело в том, что вы получили правильный ответ, но который хотелось бы проверить. Я пробовал решить на бумажке с калькулятором тупо в лоб: если делится на три - делил на три, если на два - на два, если не делится - вычитал единицу. У меня получилось за 18 ходов. За 17 не получилось.
0
|
||
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
||||||||||||
| 28.06.2021, 01:38 | ||||||||||||
1
|
||||||||||||
| 28.06.2021, 01:38 | |
|
Определите, какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N
Нужно определить, сколько существует способов получить n число из x числа используя заданные математические действия Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|