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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Синхронизация потоков в c++ http://www.cyberforum.ru/cpp-beginners/thread945396.html
Совершенно не понятно что не так и как правильно. Задача: Отсортировать массив целых чисел. Программу разбить на два синхронизированных потока. Объект синхронизации на свое усмотрение. Я выбрал...
C++ Написать пару функций Max, возвращающих то из чисел, которое было передано большее число раз Задание: Реализуйте пару функций Max, принимающих два целочисленнных параметра и два числа с плавающей точкой соответственно и возвращающих то из чисел, которое было передано этой функции большее... http://www.cyberforum.ru/cpp-beginners/thread945392.html
Оператор для xor шифрования C++
Разматриваю пример шифрования, возник детский вопрос ^ что делает этот оператор?
C++ Класс Time через time(0)
Всем привет. На форуме искал ничего похожего не нашол. Не могу до конца разобраться. В класе 1 член, который держит секунды, которые берутся в конструкторе функцией time(0). Нада вывести...
C++ Почему я не могу создать статический элемент класса fstream? http://www.cyberforum.ru/cpp-beginners/thread945352.html
Ошибка: Compiling... static_fstream.cpp Linking... static_fstream.obj : error LNK2001: unresolved external symbol "private: static class std::basic_fstream<char,struct std::char_traits<char> >...
C++ Нарисовать карту, отслеживать координаты остановок Задача заключается в том что надо нарисовать карту в которой есть дороги, остановки, маршрутные пути... При в воде 2-х остановок программа должна показать все возможные номера маршруток на которых... подробнее

Показать сообщение отдельно
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
29.08.2013, 16:58
Цитата Сообщение от Eudesan Посмотреть сообщение
Даны числа a и b. Определите, сколько существует последовательностей из a нулей и b единиц, в которых никакие два нуля не стоят рядом.В данной задаче нельзя использовать циклы и массивы.

Сложность в том, что не могу даже продумать алгоритм решения. Думал, может попробовать перебирать двоичные числа от ("b-единиц"+"a-нулей") до нуля. тогда в них надо пересчитывать количество нулей и единиц, а те, которые удовлетворят условию проверить на отсутствие двух нулей рядом... но что-то мне моя задумка не очень нравится
В общем буду благодарен за совет по алгоритму или рабочий код
Так а зачем что-то перебирать?
C++
1
2
3
4
5
6
7
if (abs(a-b)==1) 
  c=1;
else
  if (a==b)
    c=2;
  else
    c=0;
UPD невнимательно прочитал, единицы ж могут рядом стоять Но все равно тут все к формуле в принципе сведется. Рекурсии по идее не будет.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru