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

Задачка про стол. Размещение гостей без повторений - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не создаётся .exe в связи с содержимым в строке http://www.cyberforum.ru/cpp-beginners/thread928552.html
Не понимаю в чём может заключаться проблема если в объявляем строку сугубо двумя действительными числами не создаётся .exe файлchar s = "365.24 29.53";, а так создаётся char s = "365.24 a 29.53"; просто добавил между числами символ.
C++ Приоритеты выполнения перегрузок операций Всем привет. Скажите как себя будет вести программа в следующей ситуации и чем это обусловлено(компилятором или стандартом языка); #include <iostream> #include <fstream> /** перегрузка для записи в файл (не указателей)*/ template <class outdata> std::ofstream& operator << (std::ofstream& ofile, outdata& val) { if (!ofile) http://www.cyberforum.ru/cpp-beginners/thread928525.html
Поиск точки на координатной плоскости C++
Помогите пожалуйста!! Нужно написать программу которая будет искать рандомную точку на координатной плоскости, относительно движущейся прямолинейной точки в доль оси Х.
C++ Преобразование последовательности - 2 (задача с acmp). Найти ошибку в коде
Здравствуйте. Задана последовательность, содержащая n целых чисел. Необходимо найти число, которое встречается в этой последовательности наибольшее количество раз, а если таких чисел несколько, то найти минимальное из них, и после этого переместить все такие числа в конец заданной последовательности. Порядок расположения остальных чисел должен остаться без изменения. Например,...
C++ Шаблон по умолчанию http://www.cyberforum.ru/cpp-beginners/thread928442.html
template <typename T = int> class A { public: A(){} }; int main(int argc, char *argv) {
C++ Checked_iter Здорова господа! Я тут пытаюсь создать свой Checked_iter, вот код который из книги набрал вроде кое-как работает://Chacked_iter #include <iostream> using std::cout; using std::endl; using std::cerr; #include <list> using std::list; #include <string> using std::string; подробнее

Показать сообщение отдельно
ValeryS
Модератор
6375 / 4841 / 443
Регистрация: 14.02.2011
Сообщений: 16,044
25.07.2013, 13:42     Задачка про стол. Размещение гостей без повторений
ну немного теории
сколькими способами можно посадить 5 человек на 1 стул -пятью
теперь берем два стула
на первый стул пятью
на оставшийся стул нужно посадить четыре человека -четыре
задача привелась к предыдущей только количство стульев и гостей уменьшилось
возьмем три стула
на первый пять комбинаций
на второй четыре комбинации
на последний стул претендуют три человека три комбинации
потом их перемножаем 5*4*3=60
как видишь задача всегда приводится к предыдущей
на лицо рекурсия

вот ее решение с рекурсией
C++
1
2
3
4
5
6
7
int fnc (int m,int n)
 {
    if(n==0)
    return 1;
  return m*fnc(m-1,n-1);
 
 }
Добавлено через 4 минуты
пардон решение хоть и правильное но несколько нелогичное
вот так будет правильней
C++
1
2
3
4
5
6
int fnc (int m,int n)
{
 if(n==1) // если стул один  
  return m; // то вернем количество комбинаций равное числу гостей
 return m*fnc(m-1,n-1);// иначе умножим количество гостей на результат который вернет функция с уменьшенным количеством гостей и стульев
}
 
Текущее время: 22:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru