Форум программистов, компьютерный форум CyberForum.ru

Сколько палиндромов длиной n можно образовать из 26 букв - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Одномерные числовые массивы http://www.cyberforum.ru/cpp-beginners/thread1036862.html
Доброго времени суток!) Помогите пожалуйста с заданиями, сам не справлюсь, заранее очень благодарен!!)) 1) Вычислить среднее геометрическое номеров максимального и минимального элементов массива. 2) Найти разность суммы положительных и произведения отрицательных чисел массива. 3) Найти количество положительных элементов. Все решения нужно написать в этот код: #include<stdio.h>
C++ Есть массив целых чисел, для элементов которого выполняется условие Имеется двумерный массив целых чисел, для элементов которого выполняется условие А(I,M)<A(I+1,M). Найти все элементы А(I,J), равные J+1 или установить, что таких элементов нет. Не очень понял я условие и что надо найти. Вот как я понял. Кто как думает? А(I,M)<A(I+1,M) - получается заполнить массив надо таким образом, чтобы элемент в позиции <. Например: 1 2 3 4 5 6 7 8 9 ... http://www.cyberforum.ru/cpp-beginners/thread1036859.html
C++ Определить совпадает ли точка, заданная своими координатами с началом координат.
даны целочисленные координаты точки на плоскости. если точка совпадает с началом координат то вывести 0. если точка не совпадает с началом координат но лежит на оси OX или OY то вывести соответсвенно 1 или 2. если точка не лежит на кординатных осях то вывести 3. НАРАБОТОК НЕТУ ПОТОМУЧТО В С++ осёл пока.
Пересылка команд из одной программы в другую C++
Как сделать программу, которая пересылала бы команды другой программе, которая в свою очередь должна выполнить их, к примеру: программа которая запускает TrueCrypt и автоматически монтирует контейнер в систему. Подскажите пожалуйста в каком направление изучение данного вопроса мне идти. За ранее спасибо.
C++ error C2664: CWnd::MessageBoxW: невозможно преобразовать параметр 2 из "long" в "LPCTSTR" http://www.cyberforum.ru/cpp-beginners/thread1036849.html
при компиляции выдаёт ошибку указанную в теме, код: void Clab_12_2Dlg::OnClickedAri() { // TODO: добавьте свой код обработчика уведомлений int iResults; iResults = MessageBox(TEXT("Press Abort, Retry, Ignore"), MB_ABORTRETRYIGNORE | MB_ICONQUESTION); switch (iResults)
C++ Найти всех предков человека с номером p заданы n человек и два массива натуральных чисел mother и father, такие, что mother – номер матери i-го человека, а father – номер его отца, для каждого i, удовлетворяющего неравенствам 0 <= (меньше или равно) i <= n-1. Найти всех предков человека с номером p подробнее

Показать сообщение отдельно
ya_noob
_
201 / 145 / 9
Регистрация: 08.10.2011
Сообщений: 432
15.12.2013, 11:20     Сколько палиндромов длиной n можно образовать из 26 букв
Цитата Сообщение от Dani Посмотреть сообщение
что-то ты фигню написал. Не все размещения будут палиндромами же.
это вы не поняли идею решения, хотя всё просто.
kpoxaa, у меня такое ощущение, что вы не читали про размещения, раз до сих пор не поняли как решить задачу.
хорошо, если всё так туго, то вот подробнее:
вначале про 26 букв:
я понял, что каждую букву можно использовать в палиндроме ровно 2 раза. почему не меньше? да потому что палиндром состоит из двух одинаковых половин. почему не больше? потому что иначе получатся размещения с повторениями и если
Цитата Сообщение от kpoxaa Посмотреть сообщение
Мне подсказали, что это как-то высчитывается через факториал
, то одними факториалами там не обойдешься, нужно будет отдельно определять для каждого набора букв кол-во повторов каждой буквы, а таких наборов может быть сто тыщ мильонов, короче это сложная задача.
теперь само решение:
Четные палиндромы: палиндром состоит из 2 одинаковых половин. нам достаточно перебрать все различные комбинации для половин палиндромов. а это называется РАЗМЕЩЕНИЯМИ (А) из 26 букв по n/2. кол-во размещений A и будет являться ответом. почему? чтобы получился палиндром, нужно в конец каждой комбинации из n/2 символов добавить ее обращение.
Нечетные палиндромы: решается так же как для четных, но n/2 - это целая часть от частного, а центральным элементом может быть любой из неиспользованных символов для каждой комбинации, т.е. любой из (26 - n/2) штук. в итоге для нечетных n кол-во палиндромов равно A * (26 - n/2).
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru