Click here to Skip to main content
15,881,600 members
Articles / Web Development / ASP.NET
Tip/Trick

How to use StringBuilder in recursive procedure in VB.NET.

Rate me:
Please Sign up or sign in to vote.
4.67/5 (2 votes)
3 Jul 2012CPOL 18.1K   2   5

Here is a recursive procedure. This procedure will resolve the following algorithm using StringBuilder.

  • Take any natural number n (excluding 0). If n is even, halve it (n / 2), otherwise multiply it by 3 and add 1 to obtain 3n + 1. The conjecture is that for all numbers this process converges to 1.
VB.NET
Public Sub RecursiveCall(ByVal num As Integer, ByRef result As StringBuilder) 

        If num <= 0 Then
            Exit Sub
        End If

        If result.Length = 0 Then
            result.AppendFormat("{0} ", num)
        End If

        If num <> 1 Then
            If num Mod 2 = 0 Then
                num = num / 2
            Else
                num = 3 * num + 1
            End If

            RecursiveCall(num, result.AppendFormat("{0} ", num))
        End If

        Exit Sub

End Sub
call the recursive procedure.
VB.NET
Dim result As StringBuilder = New StringBuilder()
Dim intInput As Integer = 10

RecursiveCall(intInput, result)
Alternatively, we can solve this issue
VB.NET
Dim strSeries As String=String.Empty
While num <> 1
  If num Mod 2 = 0 Then
        num = num / 2
  Else
        num = 3 * num + 1
  End If
       strSeries =strSeries + num.ToString()
 End While
But in this trick recursive procedure is used which the most powerful way to solve this issue and using Stringbuilder for efficient programming and improve performance.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Team Leader
Bangladesh Bangladesh
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
General[My vote of 2] Why StringBuilder? Why recursion? Pin
Matt T Heffron5-Jul-12 14:40
professionalMatt T Heffron5-Jul-12 14:40 
GeneralRe: [My vote of 2] Why StringBuilder? Why recursion? Pin
Abdul Quader Mamun13-Aug-12 0:05
Abdul Quader Mamun13-Aug-12 0:05 
GeneralRe: [My vote of 2] Why StringBuilder? Why recursion? Pin
Matt T Heffron14-Aug-12 6:41
professionalMatt T Heffron14-Aug-12 6:41 
GeneralBut to what Lengths will he go to fix it Pin
Abdul Quader Mamun3-Jul-12 17:34
Abdul Quader Mamun3-Jul-12 17:34 
QuestionBut to what Lengths will he go to fix it Pin
Abdul Quader Mamun3-Jul-12 17:33
Abdul Quader Mamun3-Jul-12 17:33 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.