Решение задачи иначе (другим алгоритмом)?04.09.2018, 09:10. Показов 1243. Ответов 6
Метки нет (Все метки)
Задача
1. дано пятизначное число 56511 2. требуется найти пятизначное число большее заданного и удовлетворяющего условию 3. новое число должно состоять из тех же самых цифр, что и исходное число 4. новое число должно быть первым из подобных чисел (наименьшим, самым близким) Решение 1. одно из решений прилагается 1.1 использовано свойство, что числа делятся на 9 2. другое решение можно получить если задать пятикратный цикл 2.1 поместить все числа в массив и отсортировать их по величине 2.2 но это ... это видимо не самое лучшее решение 3. вероятно рекурсивное решение будет коротким. Но к нему даже не подступишься. 4. скорее всего есть и иные решения, мне неизвестные (можно задать троичную систему счисления?)
0
|
||||||
| 04.09.2018, 09:10 | |
|
Ответы с готовыми решениями:
6
Проблемы с алгоритмом решения задачи
|
|
Платежеспособный зверь
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
|
|
| 04.09.2018, 12:56 | |
|
Разумеется, Ваше решение не оптимально. Чтобы найти искомое число, надо перебрать 4644 числа. На мой взгляд, проще всего решает задачу троичная система, с помощью которой решение находится уже на двадцатом шаге, а учитывая, что цифра 6 в числе только одна, решение можно сократить до 6 итераций:
12100 12101 12110 12111 20000 20001 20011 решение найдено Добавлено через 10 минут 20010 пропустил
0
|
|
| 04.09.2018, 13:51 [ТС] | |
|
Уважаемый кот Бегемот,
вы меня извините, но я что-то не понял ваше решение. Там у вас есть к примеру число 20000 ... Ну тут вообще две цифры. А цифр должно быть три, из которых две повторяются два раза. Вы меня еще раз извините, но как я из этого числа получу новое число? Ведь будет что-то 65555 (либо 61111). Может я что-то не так понимаю? ... примечание В коде должна быть проверка? (скорее всего?)
0
|
|
|
Платежеспособный зверь
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
|
|
| 04.09.2018, 13:58 | |
|
Впрочем, программирования здесь вообще не надо. Задача легко решается а уме. Проанализировав исходное число, приходим к однозначному выводу: чисел, начинающихся на 5, больших исходного числа и состоящих из тех же цифр быть не может (56511 - наибольшее число, начинающееся на 5). Следовательно, нам нужно минимальное число, начинающееся с 6. Строим его по возрастанию цифр: 61155
Добавлено через 2 минуты PS только что увидел ваше сообщение. В числе должны быть цифры 1,1,5,5,6. Если заменить их на троичные, то это будет 0,0,1,1,2
0
|
|
| 04.09.2018, 14:31 [ТС] | |
|
Уважаемый кот Бегемот,
я тоже понимаю, что эту задачу можно решить чуть ли не в уме. Но нужна именно программа, которая решит эту задачу и выдаст ответ. Эта задача и дается на развитие интеллекта и поиска разнообразных алгоритмов ее решения. Если бы не это... ну вы читали ... задачу я решил ... а вот еще новый алгоритм никак (что я писал - это лишь предположения) Добавлено через 26 минут ... Мне кажется, что все подходящие числа можно получить из одного 11556 путем перестановки цифр. Но как их получить? Пятикратный цикл - это сложно.
0
|
|
| 04.09.2018, 14:53 | |||||||
Сообщение было отмечено нтч как решение
Решениеполучаем следующую перестановку в лексикографическом порядке (например алгоритмом Нарайаны)
1
|
|||||||
| 04.09.2018, 15:42 [ТС] | |
|
Уважаемый m-ch,
спасибо. Я такого алгоритма и не знал. То есть знал, что можно перебрать все перестановки. А потом отсортировать и выкинуть все повторяющие перестановки. А у вас нечто новое ... буду разбираться ... это очень интересно.
0
|
|
| 04.09.2018, 15:42 | |
|
Помогаю со студенческими работами здесь
7
4 задачи( иначе сгорю(
Решение сравнений первой степени методом Эйлера и алгоритмом Евклида задачи с двумерным массивом, решение должно быть похоже на решение 8-ми классника Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|