05-24-2022, 01:42 PM
This is my program for this problem:
Code: (Select All)
'
' ***************************
' * PROGRAMM: COLLATZ.bas *
' ***************************
'
' geschrieben: 23.08.2017, BSpinoza
' bearbeitet: 20.05.2020
'
' PROGRAM Collatz Conjecture
' ==============================================================
' The Collatz Conjecture states that if you pick a number n
' and if n is even, divide it by 2 to get n/2,
' If n is odd multiply it by 3 and add 1 to obtain 3n+1.
' Repeat this process indefinitely until it becomes 1.
' The conjecture is that no matter what number you start with,
' you will always eventually reach 1.
' Paul Erdos said about the Collatz conjecture:
' "Mathematics is not yet ready for such problems."
' He offered $500 USD FOR its solution.
' Thwaites (1996) has offered a $1000 reward for resolving
' the conjecture.
'
' =============================================================
'
' Die Collatz-Vermutung ist eine Vermutung über Zahlenfolgen,
' die 1937 von dem Mathematiker Lothar Collatz geäußert wurde.
' Er konstruierte diese Zahlenfolgen nach einem einfachen
' Bildungsgesetz:
'
' 1. Man denke sich eine natürliche Zahl
' 2. Falls die Zahl gerade ist, teilt man sie durch 2.
' 3. Falls die Zahl ungerade ist, multipliziert man sie mit 3
' und addiert 1.
'
' Beispiel:
' Man nehme z. B. die 11. Nach obigem Bildungsgesetz ergibt
' sich folgende Zahlenfolge:
' 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 ...
' Die Collatz-Vermutung lautet:
' Jede so konstruierte Zahlenfolge mündet in den Zyklus 4, 2, 1,
' egal, mit welcher natürlichen Zahl man beginnt.
' Die Mathematiker haben bisher keine Gegenbeispiele gefunden.
' ==============================================================
'
Dim cnt As _Unsigned _Integer64, n As _Unsigned _Integer64
cnt = 0
Input "Input of an Integer: ", n
While (n <> 1)
If n Mod 2 = 0 Then
n = n / 2
Print " -> even"
Else
n = 3 * n + 1
Print " -> odd"
End If
cnt = cnt + 1
Print n,
Wend
Print
Print " >>> The Collatz function is applied for "; cnt; " times."
End