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

Комбинаторика! Число сочитаний - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цикл http://www.cyberforum.ru/cpp-beginners/thread634878.html
Начал изучать C++ неделю назад. Теперь начал решать некоторые задачи. И возникли у меня некоторые сложности с циклами... Требуется ваша помощь... Задача: Переведите натуральное число из двоичной...
C++ Работа с фс Всем привет, мне необходимо посчитать количество файлов в директории и в зависимости от их количества разделить их на 4 или 8 папок. Я слышала есть библиотеки fstream и boost, но как правильно это... http://www.cyberforum.ru/cpp-beginners/thread634869.html
Конструктор копирования C++
Всем привет. У меня такая проблема: есть некий класс, допустим Test: class Test { protected: int value; public : Test(int v)
Случайные(псевдослучайные) числа C++
Здравствуйте! Я знаю, что было много тем по поводу рандомных чисел в С++.Но всё же. Возникла у меня проблема с получением большого кол-ва случайных(точнее псвдослучайных) чисел, которые меньше...
C++ Ошибка при вызове функции http://www.cyberforum.ru/cpp-beginners/thread634834.html
В функции NewWords вызывается функция correct,при отладке я не могу войти в эту функцию,к тому же потом не выводится элементы объекта класса words и ID в программе на данный момент вызываются лишь 2...
C++ генерирую случайные числа srand(time(NULL)); rand()%10; Всем привет, генерирую случайные числа, подскажите, пожалуйста, почему при запуске приложения числа постоянно генерируются? Как можно сделать так, чтобы при каждом... подробнее

Показать сообщение отдельно
mr_free
70 / 4 / 0
Регистрация: 08.08.2012
Сообщений: 223
Записей в блоге: 1
08.08.2012, 20:47  [ТС]
Цитата Сообщение от IGPIGP Посмотреть сообщение
http://www.cyberforum.ru/cgi-bin/latex.cgi?{C_n}^k=\frac{n!}{(n-m)! \cdot k!}



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
//Рекурсивная функция для подсчёта m!:
int fctrl(int m){
if(m==0||m==1) return 1;
return (m*fctrl( m-1));
}
 
int main()
{
int n, k;c=0;
cin>>n>>k;
c=fctrl(n)/(fctrl(n-k)*fctrl(k));
cout<<c;
return 0;
}
необходимые проверки вроде n<k, включите сами.
Принцип рекурсии состоит в том, что функции разрешено вызывать самую себя. Функция возвращающая значение - выражение результат которого подставляется в место вызова. В классическом примере - подсчете факториала, функция вызывается до тех пор пока аргумент не станет 1 и не наткнется на первое условие выхода из функции (нерекурсивная ветвь алгоритма).
Коротко и ясно, спасибо! Сам буду в следуйщий раз писать короче, а то написал прям статью! Сейчас по колдую, но вроде стало ясно А вот ссылка на саму задачу http://www.e-olimp.com/problems/65
Но лишь одно смущает, скорость работы, может есть вариант более быстрый?

Добавлено через 4 минуты
Да, и ваш вариант лобовой и не верный, аж четыре ошибки! Что не так?

Добавлено через 3 минуты
Да, и что за переменная m?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru