How to calculate the Collatz sequence starting with 13 in VB.NET

1 Answer

0 votes
Imports System

Public Class Program
    Private Shared Function CalcCollatz(ByVal x As Long) As Long
        If (x And 1) <> 0 Then
            Return x * 3 + 1
        End If

        Return x / 2
    End Function

    Private Shared Sub PrintCollatzSequence(ByVal x As Long)
        Console.Write(x & " ")

        While x <> 1
            x = CalcCollatz(x)
            Console.Write(x & " ")
        End While
    End Sub

    Public Shared Sub Main(ByVal args As String())
        Dim x As Long = 13
		
        PrintCollatzSequence(x)
    End Sub
End Class



' run:
'
' 13 40 20 10 5 16 8 4 2 1
'

 



answered Nov 7, 2023 by avibootz

Related questions

1 answer 134 views
1 answer 176 views
1 answer 130 views
1 answer 125 views
1 answer 161 views
...