How to resolve the algorithm Combinations and permutations step by step in the Visual Basic .NET programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Combinations and permutations step by step in the Visual Basic .NET programming language
Table of Contents
Problem Statement
Implement the combination (nCk) and permutation (nPk) operators in the target language:
See the Wikipedia articles for a more detailed description. To test, generate and print examples of:
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Combinations and permutations step by step in the Visual Basic .NET programming language
Source code in the visual programming language
' Combinations and permutations - 10/04/2017
Imports System.Numerics 'BigInteger
Module CombPermRc
Sub Main()
Dim i, j As Long
For i = 1 To 12
For j = 1 To i
Console.Write("P(" & i & "," & j & ")=" & PermBig(i, j).ToString & " ")
Next j
Console.WriteLine("")
Next i
Console.WriteLine("--")
For i = 10 To 60 Step 10
For j = 1 To i Step i \ 5
Console.Write("C(" & i & "," & j & ")=" & CombBig(i, j).ToString & " ")
Next j
Console.WriteLine("")
Next i
Console.WriteLine("--")
For i = 5000 To 15000 Step 5000
For j = 4000 To 5000 Step 1000
Console.Write("P(" & i & "," & j & ")=" & PermBig(i, j).ToString("E") & " ")
Next j
Console.WriteLine("")
Next i
Console.WriteLine("--")
For i = 5000 To 15000 Step 5000
For j = 4000 To 5000 Step 1000
Console.Write("C(" & i & "," & j & ")=" & CombBig(i, j).ToString("E") & " ")
Next j
Console.WriteLine("")
Next i
Console.WriteLine("--")
i = 5000 : j = 4000
Console.WriteLine("C(" & i & "," & j & ")=" & CombBig(i, j).ToString)
End Sub 'Main
Function PermBig(x As Long, y As Long) As BigInteger
Dim i As Long, z As BigInteger
z = 1
For i = x - y + 1 To x
z = z * i
Next i
Return (z)
End Function 'PermBig
Function FactBig(x As Long) As BigInteger
Dim i As Long, z As BigInteger
z = 1
For i = 2 To x
z = z * i
Next i
Return (z)
End Function 'FactBig
Function CombBig(ByVal x As Long, ByVal y As Long) As BigInteger
If y > x Then
Return (0)
ElseIf x = y Then
Return (1)
Else
If x - y < y Then y = x - y
Return (PermBig(x, y) / FactBig(y))
End If
End Function 'CombBig
End Module
You may also check:How to resolve the algorithm Array concatenation step by step in the Yacas programming language
You may also check:How to resolve the algorithm Check that file exists step by step in the HolyC programming language
You may also check:How to resolve the algorithm Mutual recursion step by step in the CoffeeScript programming language
You may also check:How to resolve the algorithm 100 doors step by step in the Tiny Craft Basic programming language
You may also check:How to resolve the algorithm Pseudo-random numbers/Combined recursive generator MRG32k3a step by step in the Phix programming language