Testfälle 4.2b

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Testfälle 4.2b
Hi,

hier ein paar Testfälle, mit den Ergebnissen, die bei mir rauskommen:

System.out.println(collatzSum(1, 1)); // 4
System.out.println(collatzSum(1, 2)); // 5
System.out.println(collatzSum(1, 3)); // 15
System.out.println(collatzSum(2, 2)); // 11
System.out.println(collatzSum(2, 3)); // 13
System.out.println(collatzSum(3, 1)); // 10
System.out.println(collatzSum(3, 5)); // 53
System.out.println(collatzSum(3, 2)); // 12
System.out.println(collatzSum(3, 10));// 130


Das sieht irgendwie nicht sonderlich korrekt aus. Was denkst du denn, wie die Collatzfolge für n = 1 aussieht?


Also ich weiß nicht ob du mit der Aufgabe vertraut bist.
Aber es geht hier ja um die Summe der Folgeelemente.
Also denke ich müsste das so schon stimmen:
also bei Collatzsum(1,2) hier

C(1) + C(2) = 1+4 = 5


Hi,

also so wie ich die Aufgabe verstehe geht es darum, dass wenn wir beispielsweise (3,2) übergeben. Der Wert für Collatz 3 und dann der Wert für Collatz 4 berechnet werden soll und die beiden Zahlen dann addiert werden müssen.


collatzSum(1,1) gibt aber (richtigerweise) 4 aus.
Das liegt daran, dass eine Collatzfolge für n zwar mit c[sub]0[/sub] = n beginnt, collatzSum aber mit c[sub]1[/sub] = collatz(n) beginnen soll. (s. Aufgabenblatt)


Ah, das hast du falsch verstanden. Ein Collatzfolge beginnt mit einer Zahl n auf die bzw. auf deren Ergebnis immer wieder die Collatzfunktion angewendet wird.
Also sowas: n, collatz(n), collatz(collatz(n)), …


Danke für eure Hilfe!

Also um bei dem Beispiel (3,2) zu bleiben. Als erstes soll Collatz für 3 ausgerechnet werden was 10 ist. Mit dem Ergebnis, soll dann Collatz von 10 berechnet werden, was 5 ist. d.h. es soll fünf rauskommen oder die Summe aus 10 und 5, was 15 wäre?


Ja, die Collatzfolge ist so richtig berechnet.
collatzSum soll, wie der Name schon sagt, die Summe berechnen, in dem Beispiel also 15.

Edit: Frage lesen vor dem Antworten hilft. -.-


Hey ich hab mal ein paar Testfaelle erstellt, ich bin mir ziemlich sicher das alles passt, aber alle Angaben ohne Gewaehr :stuck_out_tongue:
Testclass

E: Waere nett, wenn das jemand mal mit seinem Code testet und verifizieren bzw. falsifizieren kann.


ich hab meine mal überarbeitet:

System.out.println(collatzSum(1, 1)); // 4
System.out.println(collatzSum(1, 2)); // 6
System.out.println(collatzSum(1, 3)); // 7
System.out.println(collatzSum(2, 2)); // 5
System.out.println(collatzSum(2, 3)); // 7
System.out.println(collatzSum(3, 1)); // 10
System.out.println(collatzSum(3, 5)); // 43
System.out.println(collatzSum(3, 2)); // 15
System.out.println(collatzSum(3, 10)); // 53


läuft bei mir nun fehlerfrei durch!


Danke für die Testklasse ! :slight_smile:

Also bei mir läufts auch ohne Probleme, danke für die Hilfe Volschaf :slight_smile:


Gibt bei mir überall „pass“ aus! Danke übrigens für die Testfälle :slight_smile:


Riesen DAnk für die Testfälle… hab garnicht gemerkt das mein Programm garnicht richtig lief. jetzt gehts. :smiley: