|
1 / 1 / 0
Регистрация: 27.04.2020
Сообщений: 59
|
||||||
Ребус ТУЧА+ТУЧА=ДОЖДЬ(8 решений)01.08.2020, 14:06. Показов 7020. Ответов 35
Метки нет (Все метки)
Подскажите пожалуйста как написать код решения ребуса ТУЧА+ТУЧА=ДОЖДЬ(8 решений)?
Есть теория: Математический ребус – логическая задача, где в арифметическом примере цифры заменены буквами (одинаковым цифрам соответствуют одинаковые буквы, разным – разные). Например, 123+456=579 можно закодировать как сом + лук = уха. Решить математический ребус означает найти числа, которые были закодированы. Один из способов решения – перебор возможных значений для букв. Но полный перебор занимает много времени за счёт большого числа вложенных циклов, поэтому следует отсекать заведомо неподходящие значения. Например, очевидно, что с≠9, с≠,0, у≠,0, л≠9, л≠0. Таким образом, числа, закодированные словами «сом» и «лук» меняются от 100 до 800, а число, закодированное словом «уха» - от 200 до 999. Числа нарезаются на цифры, которые помещаются в множество. Если мощность множества не равна 3 (цифры разные!), то число не подходит в качестве решения задачи и надо проверять следующее число. И пример:
0
|
||||||
| 01.08.2020, 14:06 | |
|
Ответы с готовыми решениями:
35
Нарисовать тучу, закрывающую солнце. Когда туча наполовину закрывает солнце, начинается дождь
|
|
Just Do It!
|
|||||||
| 01.08.2020, 17:23 | |||||||
где ошибка? кстати std::set тут для солидности, т.е. он не нужен, т.к. два цикла легко можно свести в один.
0
|
|||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 01.08.2020, 17:27 | |
|
1
|
|
|
1 / 1 / 0
Регистрация: 27.04.2020
Сообщений: 59
|
|
| 01.08.2020, 18:32 [ТС] | |
|
У меня получилось сделать одно решение на бумаге. Вышло так 5239+5239=14618. Но как сделать программу, да и чтобы она находила все решения, пока без понятия.
0
|
|
|
Модератор
|
||||||||||||
| 01.08.2020, 20:04 | ||||||||||||
|
При помощи чужой Pascal-программы получил ответы (ещё перед компиляцией привёл кодировку к консольной CP866)
https://www.cyberforum.ru/post6392407.html алгоритм следующий: 1. составляется строка T - алфавит ребуса - в которой все буквы ребуса перечислены по одному разу. 2. вызывается рекурсивная функция - эквивалент вложенных циклов for - в которой два этапа: - заполняется строка s символами цифр. На мой взгляд применение строки - лишнее - можно было массив чисел. - по сформированному распределению цифр по алфавиту ребуса, вычисляется выражение ребуса и при равенстве - вывод результата. Как понимаю, set of byte - примерный аналог std::set - для проверки "занятости" цифры при очередном распределении по символам алфавита.
1
|
||||||||||||
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,282
|
|
| 01.08.2020, 20:14 | |
|
А я при помощи своей:
1
|
|
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,282
|
||||||
| 01.08.2020, 20:25 | ||||||
0
|
||||||
|
Just Do It!
|
||||||
| 01.08.2020, 20:32 | ||||||
Сообщение было отмечено Doppelganker как решение
Решение
ну раз такая жара
![]() чуть поправил фильтр:
осталось автоматизировать настройку фильтра на любую строку.
2
|
||||||
|
1 / 1 / 0
Регистрация: 27.04.2020
Сообщений: 59
|
|
| 01.08.2020, 20:46 [ТС] | |
|
Всем большое спасибо, что уделили время и помогли. Сам бы врятли сделал
0
|
|
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,282
|
|
| 01.08.2020, 20:52 | |
|
Опередили, хотел первым результат выложить... счёт шел на минуты!
1
|
|
|
1 / 1 / 0
Регистрация: 27.04.2020
Сообщений: 59
|
|
| 01.08.2020, 21:03 [ТС] | |
|
XLAT, Если не сложно, подскажи, что переделать под ребус КОНЬ+КОНЬ=ТАБУН
0
|
|
|
Just Do It!
|
|||||||
| 01.08.2020, 21:17 | |||||||
Сообщение было отмечено Doppelganker как решение
Решениемой алгоритм есть ручной, увы и это ПРАВИЛЬНО: никогда не автоматизируйте полностью свои программы! иначе останетесь без работы ![]() КОНЬ+КОНЬ=ТАБУН
2
|
|||||||
|
1 / 1 / 0
Регистрация: 27.04.2020
Сообщений: 59
|
|
| 01.08.2020, 21:19 [ТС] | |
|
XLAT, Спасибо большое
1
|
|
|
Just Do It!
|
||||||
| 01.08.2020, 21:38 | ||||||
|
Doppelganker, хотите универсальности, тогда вот
Ребус ТУЧА+ТУЧА=ДОЖДЬ(8 решений) просто перетранслируйте из паскаля в си Добавлено через 9 минут вот здесь вроде без ошибок:
1
|
||||||
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,282
|
|||||||
| 01.08.2020, 21:41 | |||||||
1
|
|||||||
|
Модератор
|
||||||
| 01.08.2020, 22:41 | ||||||
|
Почти универсально, по мотивам решения volvo, но не на C++, а на простом C
Прошу не пинать - C/C++ очень неродной мне язык. Нужно как-то переделать под тип string и работу с индексами. И не понимаю, как спрятать "потроха" - всякие служебные для решения переменные - сейчас они глобальные. Проверял в gcc. Кликните здесь для просмотра всего текста
0
|
||||||
|
|
||||||
| 01.08.2020, 23:13 | ||||||
|
ФедосеевПавел, именно, я удивлён, что приводятся какие-то решения с линейным циклом по самим числам до 100500.
Я ожидал увидеть решение хотя бы в духе
метод простой но не такой продвинутый как рекурсивно генерировать эти циклы. Но в цикле разбивать число на цифры типа s/10 s%10 это полный неэффективность.
0
|
||||||
| 01.08.2020, 23:13 | |
|
Помогаю со студенческими работами здесь
20
Сколько решений имеет ребус
Метод Гаусса. Учесть множество решений и когда нет решений
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|