Click here to Skip to main content
Click here to Skip to main content

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

, 3 Jul 2012 CPOL
Rate this:
Please Sign up or sign in to vote.

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.
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.
Dim result As StringBuilder = New StringBuilder()
Dim intInput As Integer = 10

RecursiveCall(intInput, result)
Alternatively, we can solve this issue
  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)

Share

About the Author

Abdul Quader Mamun
Team Leader
Bangladesh Bangladesh
I have been developing software/web applications since 2002 mainly on Microsoft technologies.
 
I'm also experienced with other technologies.
 
I'm fan of well organized and effective coding.
 
A wide range of technologies, tools, languages, frameworks, components and design patterns I’m experienced with.
 
I’m a MCP, MCAD.NET, MCSD.NET.
Follow on   Google+

Comments and Discussions

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

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

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

| Advertise | Privacy | Mobile
Web04 | 2.8.141022.2 | Last Updated 4 Jul 2012
Article Copyright 2012 by Abdul Quader Mamun
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid