Составить программу, которая содержит рекурсивную функцию Combin2(N,K) целого типа, находящуюся C(N,K) - число сочетаний - VB
Формулировка задачи:
помогите составить программу, которая содержит рекурсивную функ-цию 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.
Решение задачи: «Составить программу, которая содержит рекурсивную функцию Combin2(N,K) целого типа, находящуюся C(N,K) - число сочетаний»
textual
Листинг программы
Option Explicit Dim C(1 To 20, 0 To 20) As Long Sub main() Dim i As Byte For i = 3 To 15 Step 3 Debug.Print Combin2(20, i) Next End Sub Function Combin2(N As Byte, K As Byte) As Long If C(N, K) Then Combin2 = C(N, K) ElseIf K = 0 Or K = N Then C(N, K) = 1 Combin2 = 1 Else C(N, K) = Combin2(N - 1, K) + Combin2(N - 1, K - 1) Combin2 = C(N, K) End If End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д