Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 11
1

Даны целые числа m и n, вычислить, используя рекурсию, число сочетаний

29.05.2018, 21:39. Показов 4842. Ответов 10

Author24 — интернет-сервис помощи студентам
Даны целые числа m и n, где 0 ≤ m ≤ n, вычислить, используя рекурсию, число сочетаний С(n, m) , по формуле: С(0,n)=C(n,n)=1, C(m,n)=C(m,n-1)+C(m-1,n-1) при 0 ≤ m ≤ n. Воспользовавшись формулой C(m,n)=n!/m!(n-m)! можно проверить правильность результата.

Все это я сделал, но с рекурсией никак сделать не могу, помогите.
Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
static double Cmn(int m,int n)
        {
            double s = 0,nf=1,mf=1,nm=1;
            for (int i = 1; i <= n; i++)
                nf = nf * i;
            for (int j = 1; j<=m; j++)
                mf = mf * j;
            for (int j = 1; j <= n-m; j++)
                mf = mf * j;
            s = nf / (mf * nm);
 
                return s;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2018, 21:39
Ответы с готовыми решениями:

Даны целые числа m и n, вычислить, используя рекурсию, число сочетаний
Даны целые числа m и n, где 0 ≤ m ≤ n, вычислить, используя рекурсию, число сочетаний С(n, m) по...

Вычислить, используя свойства числа сочетаний.
как можно подробнее пожалуйста:gscratch: вычислить используя свойства числа сочетаний:

Вычислить число сочетаний C=(n!+m!)/(2(n+m)!), используя функцию вычисления факториала
C=(n!+m!)/(2(n+m)!) используя функцию пользователя вычисления факториала числа

Вычислить число сочетаний: С=(n!+m!)/(2(n+m)!), используя функцию вычисления факториала
Помогите решить задачи на процедуры в Turbo Pascal! Срочно нужно! Пожалуйста! 4. Составьте...

10
170 / 91 / 71
Регистрация: 10.05.2014
Сообщений: 432
30.05.2018, 13:45 2
По сути как-то так:

C#
1
2
3
4
5
6
static double Cmn(int m, int n)
{
    if (n>=m & m>=0)
        return Cmn(m, n - 1) + Cmn(m - 1, n - 1);
    return default(double);
}
0
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
30.05.2018, 14:03 3
Цитата Сообщение от Zodt Посмотреть сообщение
По сути как-то так:
Ноль же всегда будет.
C#
1
2
3
4
static ulong Cmn(int m, int n)
{
      return m == n || m == 0 ? 1 : Cmn(m, n - 1) + Cmn(m - 1, n - 1);            
}
0
170 / 91 / 71
Регистрация: 10.05.2014
Сообщений: 432
30.05.2018, 14:56 4
woldemas, писал без студии "на коленке", поэтому не запускал =)
Кстати, так, думаю, будет правильнее

C#
1
2
3
static ulong Cmn(int m, int n) => 
    m == n || m == 0 || n < m ? 1 :
        Cmn(m, n - 1) + Cmn(m - 1, n - 1) ;
0
woldemas
30.05.2018, 15:04
  #5

Не по теме:

Цитата Сообщение от Zodt Посмотреть сообщение
писал без студии "на коленке", поэтому не запускал
Так я тоже не запускал, сразу же видно - там только нули суммируются.

0
Zodt
30.05.2018, 15:41
  #6

Не по теме:

woldemas, у меня есть метод "Тупить"=) И на тот момент он был активен XD

0
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 11
31.05.2018, 07:40  [ТС] 7
Спасибо всем за помощь, но я уже сам сделал.
0
0 / 0 / 0
Регистрация: 19.10.2018
Сообщений: 2
27.12.2020, 23:09 8
Пришли код пожалуйста
0
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,091
28.12.2020, 08:21 9
Цитата Сообщение от Zodt Посмотреть сообщение
woldemas, писал без студии "на коленке", поэтому не запускал =)
Зачем выкладывать непроверенное решение?
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,214
28.12.2020, 10:06 10
Чипс, зачем спрашивать в теме 2+ годовалой теме?
0
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,091
28.12.2020, 10:32 11
Цитата Сообщение от Diamante Посмотреть сообщение
Чипс, зачем спрашивать в теме 2+ годовалой теме?
0
28.12.2020, 10:32
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.12.2020, 10:32
Помогаю со студенческими работами здесь

Вычислить n-ое число фибоначчи, используя рекурсию.
Вычислить n-ое число фибоначчи, используя рекурсию. Pomogite PLZ! Srochno nado!

Вычислить число сочетаний из n по m, используя функцию, для вычисления факториала
Прилагаю сюда скрин. Значения m и n задаются с клавиатуры. n = int(input('Введите первое число:...

Даны натуральное число n, целые числа a1,...,an. Получить сумму положительных и число отрицательных членов последовательности a1,...,an.
Помогите пожалуйста решить задачу... Даны натуральное число n, целые числа a1,...,an....

Даны натуральное число n, целые числа a1,...,an. получить сумму положительных и число отрицательных членов последовательности a1,...,an
даны натуральное число n, целые числа a1,...,an. получить сумму положительных и число отрицательных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Откуда у float лишние цифры в конце дробной части. Представление чисел с плавающей точкой
bytestream 25.01.2025
При разработке программного обеспечения часто возникает необходимость работать с вещественными числами, которые содержат дробную часть. В современных компьютерных системах такие числа представляются. . .
Как использовать глобальную переменную в функции в Python
bytestream 25.01.2025
В программировании на Python глобальные переменные представляют собой особый тип переменных, которые доступны для использования во всех частях программы, включая различные функции, классы и модули. . . .
Как в цикле обойти все элементы map в Java
bytestream 25.01.2025
В разработке на Java одной из наиболее востребованных структур данных является интерфейс Map, который предоставляет эффективный способ хранения и управления парами "ключ-значение". Разработчики. . .
Для чего нужен UserManager.isU­serAGoat(­) в Android и как это использовать
bytestream 25.01.2025
В мире Android-разработки существует множество интересных и порой загадочных функций, о которых знают далеко не все разработчики. Одной из таких функций является метод UserManager. isUserAGoat(),. . .
Как обойти масси в JavaScript. Всё о циклах
bytestream 25.01.2025
JavaScript представляет собой мощный язык программирования, широко используемый в веб-разработке, где массивы и циклы являются фундаментальными концепциями для эффективной работы с данными. Массив в. . .
Как сделать, чтобы существующая ветка отслеживала удалённую в Git. Связывание локальных и удалённых веток
bytestream 25.01.2025
В разработке программного обеспечения системы контроля версий стали неотъемлемой частью процесса создания качественного программного продукта. Эти инструменты позволяют разработчикам эффективно. . .
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru