Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/40: Рейтинг темы: голосов - 40, средняя оценка - 4.93
-5 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 44

Добрый день ! Задача на комбинацию пар круглых скобочек

10.04.2018, 16:50. Показов 8143. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно вывести все корректные комбинации пар круглых скобочек , которые можно сформировать из n-скобок , которые открываются и закрываются . Например корректная комбинация - (()()), некорректная - (()))( . Количество скобок задается пользователем
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.04.2018, 16:50
Ответы с готовыми решениями:

Добрый день ! Задача на создание словаря
Нужно в задаче сформировать словарь,позволяющий пользователю добавлять новые слова в словарь,менять слова ,которые есть в словаре та...

Вывести все корректные комбинации пар круглых скобок
Вывести все корректные комбинации пар круглых скобок, которые можно сформировать из n скобок, которые закрываются и открываются. Количество...

Рекурсия: вывести заданное количество вложенных пар круглых скобок
Помогите,пожалуйста! Задача: Написать функцию, которая принимает число и выводит соответствующее количество вложенных пар круглых...

2
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
11.04.2018, 05:38
Лучший ответ Сообщение было отмечено Artal98 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/python3
from itertools import product
 
 
def is_valid(s):
    stack = []
    for i in s:
        if i == '(':
            stack.append(i)
        elif i == ')':
            try:
                i2 = stack.pop()
            except IndexError:
                return False
            if i2 != '(':
                return False
        else:
            return False
    return len(stack) == 0
 
 
n = 6
 
l = ['()'] * n
for i in product(*l):
    s = ''.join(i)
    if is_valid(s):
        print(s)
0
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
11.04.2018, 09:03
Artal98,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def generate_brackets(n, result, x = None, s = 0):
    if not x: x = n * [None]       
    if s < 0: return
    if not n:    
        if not s: result.append(''.join(x))
    else:
        x[n - 1] = ')'
        generate_brackets(n - 1, result, x, s + 1)
        x[n - 1] = '('
        generate_brackets(n - 1, result, x, s - 1)
    
r = []
n = 6
generate_brackets(n, r)
for s in r:
    print(s)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2018, 09:03
Помогаю со студенческими работами здесь

Добрый день
Может кто нибудь помочь? Я сделал маленькую базу данных для своего хобби но не знаю как сделать запрос ,сколько денег было получено за...

Добрый день)
У меня сессия, и я очень прокосячила по срокам сдачи, помогите пожалуйста!

добрый день
Столкнулся с такой проблемой. Через определенное время открываюся вкладки с рекламой. Бывает что браузер выключен, а вирус включает и...

Добрый день!
Где можно найти специалиста со знанием navision Attain?

Добрый день!
Вводится строка &quot;Добрый день, ИМЯ&quot; без знаков препинания в конце. Выведите имя человека, которому отправлено приветствие. ФОРМАТ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru