|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
Расстановка скобочек в выражении (все комбинации)30.10.2010, 21:09. Показов 7142. Ответов 24
Метки нет (Все метки)
собственно сабж: расстановка всех комибинаций скобочек в мат. выражении от 4 до 8 цифр в выражении.
пример: есть выражение 1+2+3+4 все комб.: (1+2)+(3+4) (1+2)+3+4 1+(2+3)+4 1+2+(3+4) (1+2+3)+4 1+(2+3+4) (1+2+3+4) П.С. + любой оператор может быть (+,-,*,/) Что можете посоветовать. ума не приложу как сие проделать можно еще и в обобщеном варианте до 8 цифр.
0
|
|
| 30.10.2010, 21:09 | |
|
Ответы с готовыми решениями:
24
Получить все возможные комбинации Найти ВСЕ комбинации символов
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|||||||||||
| 31.10.2010, 08:01 | |||||||||||
|
В вашем примере противоречие. Вообще-то допустимых расстановок скобок вот столько:
0
|
|||||||||||
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 31.10.2010, 09:20 [ТС] | |
|
мне нужно такие расстиановки как у меня, почему меньше на 1? хотя (1+2+3+4) можно в скобки не брать просто это значение якобы без скобок тоже нужно посчитать поэтому и вписал.
Mr.X, вы можете что то посоветовать?
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|||||||
| 31.10.2010, 13:47 | |||||||
0
|
|||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 31.10.2010, 14:45 | |
|
Моё мнение - глупо было приводить пример для операции "+". Потому что как ты тут скобки не ставь, получишь один и тот же результат. Мне же интересна цель - тупо расставить скобки всеми способами, или же так, чтобы, например, получить только один какой-то результат или, скажем, диапазон результатов. Короче, интересна цель расстановки - получить какой-то результат или же тупо перебрать варианты?
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 31.10.2010, 16:49 | |
|
Левая скобка может находится в n-1 местах и правая в n-1. Левая не может быть правее правой. И обычным перебором: цикл для изменения положения левой скобки и внутри первого цикл для смены правой.
0
|
|
|
9 / 9 / 1
Регистрация: 02.07.2010
Сообщений: 28
|
||
| 31.10.2010, 19:45 | ||
|
Да и вообще, по-моему тут как раз не надо париться с получаемым порядком действий и прочей жестью. Ибо, насколько я понимаю, вложенные скобки не допускаются? И поэтому не каждый порядок действий можно будет получить... Добавлено через 26 минут А вообще, если учесть, что: - правая скобка не может стоять раньше левой - левая скобка всегда стоит перед числом, а правая - всегда после можно адресовать скобки строго относительно чисел. Т.е. если около числа - скобка, ставим единицу, а если нету ее - то ноль. Т.е. для приведенного примера картина примерно: (1+2)+(3+4) - 1111 (1+2)+3+4 - 1100 1+(2+3)+4 - 0011 1+2+(3+4) - 0110 (1+2+3)+4 - 1010 1+(2+3+4) - 0101 (1+2+3+4) - 1001 Вот. Так как цифер не больше восьми, можно тупо перебирать числа, и выбирать те, в которых четное количество бит. Расшифровывать потом легко - первая единица - левая скобка, следующая - правая и т.д. P.S. \мечтательно\ На ассемблере такое реализуется красиво... с использованием условного перехода по флагу четности...
1
|
||
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 31.10.2010, 19:51 | |
|
Christopher M., да вобще красиво получилось.
0
|
|
|
9 / 9 / 1
Регистрация: 02.07.2010
Сообщений: 28
|
|||||||
| 31.10.2010, 20:00 | |||||||
0
|
|||||||
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
||
| 31.10.2010, 21:41 [ТС] | ||
|
А вообще задача состоит в следующем: Есть 4 числа например 2,4,6,8 и 25 нужно написать программу которая бы проверяла существует ли комбинация из данных цифр, 4 операторов и определенной расстановки скобочек чтобы результат был равен 25. итог: программа в файл должна записать все подходящие комбинации . следующий этап- обобщить данный алгоритм от 4 до 8 цифр + 1 результат. с перебором операторов и комбинаций проблем нет, вопрос со скобками как сделать? реализация на Си/Си++. решил вписывать выражение в string что вы посоветуете? Добавлено через 3 минуты KuKu, да , но тогда выпадает такой вариант (1+2)+(3+4) хотя Б-г с ним, допускается такой расклад (можно его откинуть) но тогда на 5 цифр отпадет большее количество растановок... Добавлено через 53 секунды Christopher M., действительно красиво и все бы ничего, НО по какому поринципу формировать эти бинарные числа 1001 1111 и т.д.?
0
|
||
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 31.10.2010, 21:43 | |
|
0
|
|
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 31.10.2010, 22:02 [ТС] | |
|
KuKu,
что они обозначают, но или я чего то не допонимаю ,либо лентяй или еще что, НО ИМХО много лишней работы нужно переберать комбинации после чего их привязывать к индексам в массив/стринге выражения.... не проще ли двигать скобку с каждой итерацией? проблема останеться только в другом- нужно каким-то макаром разработать алгоритм подбора скобок вида (1+2)+(3+4) или я не прав и чего то не допонимаю?
0
|
|
|
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
|
|
| 31.10.2010, 22:05 | |
|
0
|
|
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 31.10.2010, 22:30 [ТС] | |
|
Хохол,
конечно можно менять и алгоритм это иделает
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
| 01.11.2010, 10:13 | ||||||
|
Можно подставлять любые положительные целые числа в любом количестве.
1
|
||||||
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 01.11.2010, 11:39 [ТС] | |
|
Mr.X,
Спасибо огромное))) но я хочу своё реализовать))))ваш поизучаю обязательно))еще раз спасибо) Добавлено через 14 минут Хм ваш код не работает на 2 4 6 8 (25) Добавлено через 4 минуты ААА дошло , предпологаю изза использования int сей баг
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
| 01.11.2010, 11:46 | ||||||
|
Пардон, вкралась ошибочка.
Вот так правильно:
0
|
||||||
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 01.11.2010, 13:22 [ТС] | |
|
Mr.X,
что то с вашим кодом не могу разобраться, как вы скобочки расставляете?
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 01.11.2010, 13:26 | |
|
0
|
|
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 01.11.2010, 13:29 [ТС] | |
|
Mr.X,
вот их то я и не могу понять=)) скажем так, по какому принципу вы определяете где и когда из ставить?
0
|
|
| 01.11.2010, 13:29 | |
|
Помогаю со студенческими работами здесь
20
Все комбинации из 4 цифр от 0 до 9 это все числа от 0000 до 9999 Производная скобочек Замена коэффициентов в выражении при изменении колличества слагаемых в выражении Все возможные комбинации Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|