Составить программу, которая содержит рекурсивную функцию 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы