Другие языки программирования и технологии
Помогите пожалуйста начинающему программисту???
В одном университете B вёл занятияпо курсовому проектированию преподователь L. Надо было ему раздать задания с некоторой функцией F(A). Причём каждому студенту должны достаться визуально разные функции. Функция может содержать символы: A,+,-(,), где буква А - это единственный аргумент функции, унарных знаков не допускается. Чтобы студенты не обижались, что задания разной сложности, всем были заданы функции состоящие ровно из N знаков. Преподавателю необходимо посчитать, сколько различных корректных выражений он может составить из N знаков. Можно на С++, Pascal, Delphi!
комбинаторика тут действительно почти не при делах.
хотя комбинаторика - часть обязательной программы для программиста даже в средне-технических учебных заведениях.
судя по всему, вам неучи попадались, а не программисты.
вот вариант более красивый http://pastebin.com/hqPFxUjD
вот более понятный http://pastebin.com/8HSxGht8
вот совсем непонятный http://pastebin.com/dyVmbpZL
это все с учетом того что вариант (((((A))))) допустим,
а вариант например A(A)+A нет. потому, что предполагаем, что A является не функцией, а переменной (впрочем, это легко исправить, в отличие от первого случая)
если нужен только конечный результат, без вывода всех вариантов, нужно закомментировать cout << a << endl;
длинна выражения N задается в командной строке. это тоже можно переделать по вкусу
вот пример вывода для N=5
>prog 5
A+A+A
A+A-A
A+(A)
A-A+A
A-A-A
A-(A)
(A+A)
(A-A)
(A)+A
(A)-A
((A))
Результат: 11
хотя комбинаторика - часть обязательной программы для программиста даже в средне-технических учебных заведениях.
судя по всему, вам неучи попадались, а не программисты.
вот вариант более красивый http://pastebin.com/hqPFxUjD
вот более понятный http://pastebin.com/8HSxGht8
вот совсем непонятный http://pastebin.com/dyVmbpZL
это все с учетом того что вариант (((((A))))) допустим,
а вариант например A(A)+A нет. потому, что предполагаем, что A является не функцией, а переменной (впрочем, это легко исправить, в отличие от первого случая)
если нужен только конечный результат, без вывода всех вариантов, нужно закомментировать cout << a << endl;
длинна выражения N задается в командной строке. это тоже можно переделать по вкусу
вот пример вывода для N=5
>prog 5
A+A+A
A+A-A
A+(A)
A-A+A
A-A-A
A-(A)
(A+A)
(A-A)
(A)+A
(A)-A
((A))
Результат: 11
Задачка не совсем на комбинаторику.
Если бы не было скобок, то всё было бы очень просто - составляй себе выражение типа "A1A2A3A" и меняй в нём цифры на знаки + или -.
Скобки всё портят!
Тут нужно продумать как изменяется выражение при вводе скобок и строить программу уже исходя из их присутствия.. .
A+A+A+A+A
A+A+A+A-A
A+A+A-A+A
A+A+A-A-A
....
A+A+(A+A)
A+A+(A-A)
Если бы не было скобок, то всё было бы очень просто - составляй себе выражение типа "A1A2A3A" и меняй в нём цифры на знаки + или -.
Скобки всё портят!
Тут нужно продумать как изменяется выражение при вводе скобок и строить программу уже исходя из их присутствия.. .
A+A+A+A+A
A+A+A+A-A
A+A+A-A+A
A+A+A-A-A
....
A+A+(A+A)
A+A+(A-A)
Тебе никогда не стать хорошим программистом, раз ты такую фигню спрашиваешь.
Учись лучше и не тупи.
Учись лучше и не тупи.
>>Помогите пожалуйста начинающему программист
Вы начинающий врун не больше! начинающие программисты просят о помощи в направлении в нужное русло! а вы просите сделать за вас ВСЕ!
Вы начинающий врун не больше! начинающие программисты просят о помощи в направлении в нужное русло! а вы просите сделать за вас ВСЕ!
==> Ищи формулу из комбинаторики, адаптируй, а код по ней составить уже проще простого, хоть на С хоть на паскале
Среди программистов сложно найти тех, кто знаком с комбинаторикой. :) Ты бы по-русски, т. е математическую формулу изобразил: чего тебе там надо запрограммировать?
Похожие вопросы
- Здравствуйте, помогите советом начинающему программисту???
- Помогите пожалуйста, уважаемые программисты и сисадмины! При установке ХР выключается сист. блок, (чит. пояснения)
- Паскаль, не трудная задачка, помогите начинающему программисту!
- Вопрос программистам со стажем. Какой язык программирования учить начинающему программисту?
- начинающий программист Подскажите пожалуйста с чего начать начальному программисту?
- Я начинающий программист, у меня нет никаких программ специальных типа Borland для использования их при написании прогр
- Помогите начинающему программисту.
- Выбор языка программирования, для начинающего программиста.
- Меня зовут Влад и мне 16, вижу себя программистом в будущем помогите пожалуйста, дайте совет, поддержите!
- Что нужно знать начинающему программисту?