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

Рекурсия для начинающих. Определите, сколько существует последовательностей из a нулей и b единиц, в которых никакие два нуля не стоят рядом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Синхронизация потоков в c++ http://www.cyberforum.ru/cpp-beginners/thread945396.html
Совершенно не понятно что не так и как правильно. Задача: Отсортировать массив целых чисел. Программу разбить на два синхронизированных потока. Объект синхронизации на свое усмотрение. Я выбрал критическую секцию. Первый поток заполнение и сортировка массива, второй - вывод на консоль. Когда запускаю приложение, то никаких ошибок нет, но консоль тут же закрывается. Мой код: #include...
C++ Написать пару функций Max, возвращающих то из чисел, которое было передано большее число раз Задание: Реализуйте пару функций Max, принимающих два целочисленнных параметра и два числа с плавающей точкой соответственно и возвращающих то из чисел, которое было передано этой функции большее число раз. Для хранения полученных ранее чисел воспользуйтесь в этих функциях статическими переменными. В случае, когда оба парметра встречались одинаковое число раз, функция должна возвращать первый из... http://www.cyberforum.ru/cpp-beginners/thread945392.html
Оператор для xor шифрования C++
Разматриваю пример шифрования, возник детский вопрос ^ что делает этот оператор?
C++ Класс Time через time(0)
Всем привет. На форуме искал ничего похожего не нашол. Не могу до конца разобраться. В класе 1 член, который держит секунды, которые берутся в конструкторе функцией time(0). Нада вывести время(ч:м:с) и дату(д/м/г). С временем розобрался, с годом в дате тоже, но не могу понять как найти день и месяц.
C++ Нарисовать карту, отслеживать координаты остановок http://www.cyberforum.ru/cpp-beginners/thread945266.html
Задача заключается в том что надо нарисовать карту в которой есть дороги, остановки, маршрутные пути... При в воде 2-х остановок программа должна показать все возможные номера маршруток на которых можно доехать а при выборе маршрутки проложить путь ( в идеале показать анимацией как маршрутка(кружочек) двигается по выделенной дороге) Кто может подсказать каким образом,методом, с помощбю каких...
C++ Обпределение запуска программы Доброго времени суток. Если есть одна программа и она запущенна, то как можно определить, что эту же саммую программу запускают еще раз (с коммандной строки например с другими аргументами) и не запускать еще раз а просто изменить в уже запущенной. Может быть я не понятно написал, потому объясню что хочу сделать. Что-то типа проводника в windows, и если я пишу в командной строке myprogram C:\ , то... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6234 / 2963 / 288
Регистрация: 04.12.2011
Сообщений: 7,908
Записей в блоге: 3
30.08.2013, 03:31     Рекурсия для начинающих. Определите, сколько существует последовательностей из a нулей и b единиц, в которых никакие два нуля не стоят рядом
Мне вот что в голову пришло. Пусть есть a и b, нулей и единиц соответственно. Размер записи: n = a + b.
Подсчитаем максимально возможное количество нулей Z в записи n.
Максимальное количество нулей равно Z = n/2 если не учитывать записи с ведущим нулём. Деление - нацело.
Вероятно записи с ведущим нулём учитывать не стоит, но как бы мы не решили, Z у нас получится и это значит, что количество единиц в "разреженной" записи минимум E= n-Z.
В такой записи представлено одно единственно возможное число, так как перестановка любой 1-цы возможна лишь на место другой 1-цы (они меняются местами) и нового числа не получается.
В случае если n>b>E у нас получается p = b - E = b+Z-n = Z -a единиц сверх E требуемых для построения "разреженного" каркаса. И их размещение в Z нулевых позициях не учитывая повторений, вроде как:
http://www.cyberforum.ru/cgi-bin/latex.cgi?A = C_z ^p
 
Текущее время: 03:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru