Hallo!
Ich stecke gerade in meinem Programm fest und weiß nicht mehr, wie ich weitermachen soll:
Option Explicit
Dim start As Integer
Dim n As Integer
Dim zaehler As Integer
Private Sub Command1_Click()
start = Text1.Text
n = start
zaehler = 0
If n / 2 = 1 Then Label2.Caption = "Wert 1 wurde erreicht"
If n Mod 2 = 0 Then
Do Until n = 1
DoEvents
zaehler = zaehler + 1
n = n / 2
Do Until n = 1
DoEvents
n = n / 2
Loop
Loop
End If
If start Mod 2 <> 0 Then n = start * 3 + 1
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Command3_Click()
Text1.Text = ""
Label1.Caption = ""
Label2.Caption = ""
End Sub
Zur Erklärung:
Gegeben ist eine beliebige natürliche Zahl, aus der sich eine Folge von Zahlen nach folgenden Regeln bildet.
Ist die Zahl gerade, so ist die nächste Zahl gleich der halben Zahl. Ist die Zahl ungerade, so wird die Zahl verdreifacht und um 1 erhöht. Das ist dann die nächste Zahl. Merkwürdigerweise erreicht diese Folge immer die Zahl 1.
Beispiel 1: Die erste Zahl ist 16.
Folge: 16, 8, 4, 2, 1
Beispiel 2: Die erste Zahl ist 15.
Folge: 46, 23, 70, 35, 106, 53, 106, 53, 160, 80, 40, 20,10, 5, 16, ,8 ,4 ,2 ,1
Ich hoffe, ihr könnt mir helfen.
MfG
Norweger
Ich stecke gerade in meinem Programm fest und weiß nicht mehr, wie ich weitermachen soll:
Option Explicit
Dim start As Integer
Dim n As Integer
Dim zaehler As Integer
Private Sub Command1_Click()
start = Text1.Text
n = start
zaehler = 0
If n / 2 = 1 Then Label2.Caption = "Wert 1 wurde erreicht"
If n Mod 2 = 0 Then
Do Until n = 1
DoEvents
zaehler = zaehler + 1
n = n / 2
Do Until n = 1
DoEvents
n = n / 2
Loop
Loop
End If
If start Mod 2 <> 0 Then n = start * 3 + 1
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Command3_Click()
Text1.Text = ""
Label1.Caption = ""
Label2.Caption = ""
End Sub
Zur Erklärung:
Gegeben ist eine beliebige natürliche Zahl, aus der sich eine Folge von Zahlen nach folgenden Regeln bildet.
Ist die Zahl gerade, so ist die nächste Zahl gleich der halben Zahl. Ist die Zahl ungerade, so wird die Zahl verdreifacht und um 1 erhöht. Das ist dann die nächste Zahl. Merkwürdigerweise erreicht diese Folge immer die Zahl 1.
Beispiel 1: Die erste Zahl ist 16.
Folge: 16, 8, 4, 2, 1
Beispiel 2: Die erste Zahl ist 15.
Folge: 46, 23, 70, 35, 106, 53, 106, 53, 160, 80, 40, 20,10, 5, 16, ,8 ,4 ,2 ,1
Ich hoffe, ihr könnt mir helfen.
MfG
Norweger