Другие языки программирования и технологии
Вау, у меня есть вопрос =D . Часть знаю как решить а часть нет. Тогда задам подвопрос. Язык - C# C++ Pascal на выбор
Даётся на входе число N, означающее кол-во пар скобок "(" либо ")" . Нужно занести в строки все возможные варианты расположения этих скобок. Пример входа 2 Выход (((( ()() )()( )))) (()) (()( )((( ())( ))(( )()) чёрт и так далее )) Блин вот не знаю как точно на русском, все перестановки чтоли. Пардон своего кода нету т.к. нету понятия как делать. Наводку дайте может, не обязательно код.
Взять двоичное представление введенного числа, пройтись циклом от 0 до N
и расставлять скобки: 0 - например "(", а 1 - ")".
и расставлять скобки: 0 - например "(", а 1 - ")".
Дмитрий Фокин
Спасибо конечно но это какойто полный баян. Да брать за 1 и 0 это согласен...Но вот причём тут двоичное представление входного числа..
преобразуй число в двоичное. Потом 0- (, 1 - ) все.
Но вообще то пара скобок это () , т. е это (((( или это математически не верно )()(, а так ()() или так (()) правильно
пиши в агент или icq 452371863 договаримся
Но вообще то пара скобок это () , т. е это (((( или это математически не верно )()(, а так ()() или так (()) правильно
пиши в агент или icq 452371863 договаримся
То, как тут предлагают - не интересно =)
Вот рекурсивный вариант на c#
static System.Collections.Generic.List<string> a = new System.Collections.Generic.List<string> ();
static void iter (string acc, int counter)
{
string s1, s2;
s1 = acc + '(';
s2 = acc + ')';
if (counter == 1) {
a.Add (s1);
a.Add (s2);
return;
} else {
iter (s1, counter - 1 );
iter (s2, counter - 1 );
}
}
Вот рекурсивный вариант на c#
static System.Collections.Generic.List<string> a = new System.Collections.Generic.List<string> ();
static void iter (string acc, int counter)
{
string s1, s2;
s1 = acc + '(';
s2 = acc + ')';
if (counter == 1) {
a.Add (s1);
a.Add (s2);
return;
} else {
iter (s1, counter - 1 );
iter (s2, counter - 1 );
}
}
думаю если ты будешь делать в паскаль то нужно присвоить 4 м строковым переменным значения расположений скобок. "((" "))" "()"")(" затем в зависимость от твоего н создаешь цикл от одного до н, где будет вывод скобок. вот только тут точно незнаю как быть.
да хер его знает
выбери мой ответ лучшим!!!!)))))))))))))
выбери мой ответ лучшим!!!!)))))))))))))
тут на самом деле обычный перебор, делаете n! до него цикли и переставляете скобки поочередно
так извините ошибся) если это число па то (2n)!
так извините ошибся) если это число па то (2n)!
Дмитрий Фокин
Фух вот именно факториал я и не знаю как алгоритм написать )
Кудрят Исламов
кстати тут даже несколько проблемней тут надо делать (2n)! - x где х число комбинация с повторяющимися скобками
Похожие вопросы
- C++, C#, Pascal.
- Языки C++, C#, JAVA
- Откуда взялся язык "C/C++"?
- В чем причина ненависти к языкам C, C#, C++ на ответах?
- Каковы возможности языков C,C++, ASM, Delphi? Хочу больше узнать про эти языки, а некоторые изучить.
- кто занет эти языки C++ C# Delphi Java.. Чем проще программировать, у каких их них есть будующее и другие советы за и ..
- Вопросик по Pascal. Есть переменные A,B,C,D. Как сделать так, чтобы при вводе A выводилось цифра 1, B - 2, C-3, D-4?
- Вопрос для тех кто знает точный ответ, язык C про функции все подробности вопроса внутри...
- Имеет ли смысл учить Pascal для того, чтобы проще было учить более современные языки (Например, perl, C/C++)?
- С какого языка начать изучать поограммирование? Кандидаты Python,Pascal, C++, C#