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
'