Erneut VBA Aufgabe |
24.06.2011, 23:22 | Auf diesen Beitrag antworten » | |||||
Tamara20 | Erneut VBA Aufgabe Hallo Leute :-) Frage: Schreiben Sie eine Funktion, welche das nte Element der Collatzfolge liefert.Das Anfangselement wird dabei mitgezählt. Also ich gebe z.b zahl 6 ein und nte zahl 3 6,3,10,5,16,8,4,2,1 dann muss die zahl 10 rauskommen. Soweit habe ich es. Public Function nte(ByVal a As Integer, ByVal n As Integer) As Integer Do Until a = 1 If a Mod 2 = 0 Then a = a / 2 Else a = 3 * a + 1 End If Loop nte = a End Function Hier bekomme ich nun die 1 was bei collatz ja zum schluss rauskommen soll. Wie und was muss ich hier einbauen? Ich hatte mal versucht einen leeren string einzugeben und dann mit Mid(s,i,1) die nte stelle rauszubekommen. Vielen dank schonmal :-) |
|||||
|
||||||
25.06.2011, 08:10 | Auf diesen Beitrag antworten » | |||||
Karlito | Tipp: Abbruchbedingung der Schleife. VG, Karlito |
|||||
25.06.2011, 10:10 | Auf diesen Beitrag antworten » | |||||
Tamara20 | Eine Abbruchsbedingung ist doch Do Wihle oder so? hab ich recht? und wenn ja soll ich do until wegmachen oder kann man sowas kombinieren. danke karlito:-) |
|||||
25.06.2011, 12:51 | Auf diesen Beitrag antworten » | |||||
Karlito | In deinem Quelltext steht auch eine Abbruchbedingung
Du musst dir jetzt nur was einfallen lassen, wie du die Abbruchbedingung so anpasst, dass die Schleife auch stoppt, wenn dein n erreicht ist. Dazu musst du in der Schleife noch was mit dem n machen. VG, Karlito |
|||||
Anzeige | ||||||
|
||||||
26.06.2011, 21:10 | Auf diesen Beitrag antworten » | |||||
Tamara20 | Public Function nte(ByVal a As Integer, ByVal n As Integer) As Integer Do Until a = n If a Mod 2 = 0 Then a = a / 2 Else a = 3 * a + 1 End If Loop nte = a End Function so habe ich das gemacht aber ich meinte das ist doch total faslch. so macht er ja nur wenn ich für n z.b 2 eingebe so lange geht die collatzschleife. ich weiss nicht wie ich die funktion für n schreiben muss, das wenn ich collatz 1,5,6,7,9,16 und n 2 eingebe die 5 rauskommt. die zündende idee fehlt mir ohhhh manooooo versuch schon seit 1-2 tagen das hinzubekommen :-) |
|||||
26.06.2011, 21:24 | Auf diesen Beitrag antworten » | |||||
Karlito | Nicht verzweifeln Ich möchte dir nur ungern die Lösung verraten, da es dir aus meiner Sicht wenig hilft. 1. Frage: ist es wirklich wichtig, dass die schleife bei a=1 abbricht? Was passiert wenn man sie weiter ausführt. 2. Frage: Wenn du das n-te Glied der Folge berechnen willst, musst du die Bildungsvorschrift n mal ausführen. Wie könntest du das erreichen? VG, Karlito |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|