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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
выручайте 23
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 30
#1

Cоставить программу, которая содержит рекурсивную функ-цию Combin2(N, K) целого типа, находящую C(N, K) – число сочетаний из N эле-ментов по K - C++

05.06.2013, 18:29. Просмотров 611. Ответов 1
Метки нет (Все метки)

помогите составить программу, которая содержит рекурсивную функ-цию Combin2(N, K) целого типа, находящую C(N, K) – число сочетаний из N эле-ментов по K – с помощью рекуррентного соотношения:
C(N, 0) = C(N, N) = 1,
C(N, K) = C(N – 1, K) + C(N – 1, K – 1) при 0 < K < N.
Параметры функции – целые числа; N > 0, 0 <= K <= N. Считать, что пара-метр N не превосходит 20. Для уменьшения количества рекурсивных вызовов по сравнению с функцией Combin1 (см. задание к варианту № 5) описать вспомога-тельный двумерный массив для хранения уже вычисленных чисел C(N,K) и обра-щаться к нему при выполнении функции Combin2. С помощью функции Combin2(N, K) найти числа C(N,K) для данного значения N и пяти различных зна-чений K.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 18:29     Cоставить программу, которая содержит рекурсивную функ-цию Combin2(N, K) целого типа, находящую C(N, K) – число сочетаний из N эле-ментов по K
Посмотрите здесь:

Описать рекурсивную функцию FibRec(N) целого типа, вычисляющую N-е число Фибоначчи - C++
Описать рекурсивную функцию FibRec(N) целого типа, вычисляющую N-е число Фибоначчи F(N) по формуле: F(1) = F(2) = 1, F(k) = F(k–2) +...

Определить количество различных эле-ментов в массиве - C++
Задан массив из k символов. Определить количество различных эле-ментов в массиве. Увы код который мне с самого начала пришел в голову,...

Найти произведение номеров максимального и минимального эле-ментов массива - C++
Создать функцию, параметром которой является одномерный массив и его размерность. Тело функции реализовать двумя способами: через обращение...

В матрице размером N*M упорядочить строки по возрастанию их первых эле-ментов - C++
Вводится массив, почему-то не работает сортировка #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include...

Напишите программу, которая запрашивает ввод значений переменных t, b, r целого типа, и выполняет алгоритм - C++
Напишите программу, которая запрашивает ввод значений переменных t, b, r целого типа, и выполняет алгоритм: 1. Если t&lt;b, то переменной z...

Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B - C++
Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B включительно (A и B — целые). Если A &gt; B, то функция...

В одномерном массиве, состоящем из n элементов, вычислить сумму эле- ментов после максимального элемента - C++
Оформить её в виде шаблона функции. Все исходные данные для функции должны передаваться в виде параметров. Использование глобальных...

Описать рекурсивную функцию вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле: - C++
Описать рекурсивную функцию вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле: Y0 = 1, YN+1 =...

Составить программу, которая находит n-е число Фибоначчи. Использовать в задаче рекурсивную функцию - C++

Написать программу, которая определяет, содержит ли заданный массив число, равное S - C++
Определить, содержит ли заданный массив число, равное S.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dr.curse
387 / 343 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
05.06.2013, 18:39     Cоставить программу, которая содержит рекурсивную функ-цию Combin2(N, K) целого типа, находящую C(N, K) – число сочетаний из N эле-ментов по K #2
выручайте 23, не проверял но должно работать
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
int C[30][30];
int Combin2(int n,int k)
{
    if (C[n][k])
        return C[n][k];
    else
        return n==k || !k ? 1 : Combin2(n-1,k)+Combin2(n-1,k-1);
}
int main()
{
    int n,k;
    scanf("%d%d",&n,&k);
    printf("%d\n",Combin2(n,k));
    return 0;
}
Ответ Создать тему
Опции темы

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