Abbruchbedingung |
| 14.11.2015, 23:17 | Auf diesen Beitrag antworten » | |||||
| Ratte | Abbruchbedingung Hat jemand vielleicht eine Idee für die return statement und die Abbruchbedingung bei folgender Aufgabe? Ich zerbreche mir schon seit einer ganzen Zeit den Kopf darüber...
|
|||||
|
|
||||||
| 15.11.2015, 07:21 | Auf diesen Beitrag antworten » | |||||
| eulerscheZahl | Im Beispiel hast du ein Wort ungerader Länge. Du wirst irgendwann Position 3 mit Position 3 vergleichen (der Ausgang des Vergleichs ist klar). Danach vergleichst du nur noch Ziffer, die du schon verglichen hast. Wie sieht es bei gerader Ziffernzahl aus? |
|||||
| 15.11.2015, 07:56 | Auf diesen Beitrag antworten » | |||||
| Ratte | Hallo eulersche Zahl, irgendwie kann ich dir nicht folgen
In welchem beispiel? Ungerader länge? Hättest du bitte die güte mir das per quellcode näher zu bringen? |
|||||
| 15.11.2015, 07:57 | Auf diesen Beitrag antworten » | |||||
| eulerscheZahl | Ich nehme Bezug auf das Beispiel, das du in deinem Bild angehängt hast. |
|||||
| Anzeige | ||||||
|
|
||||||
| 15.11.2015, 08:21 | Auf diesen Beitrag antworten » | |||||
| Ratte | Bei geraden ziffernzahln weiß ich es nicht. Zumindest fällt mir spontan kein mathematischer ausdruck dafür ein um den vergleich zu beschreiben.
|
|||||
| 15.11.2015, 08:37 | Auf diesen Beitrag antworten » | |||||
| eulerscheZahl | Ich habe mal ein wenig rumgespielt. Edit: das eine Bild musst du anklicken, damit sich was bewegt. |
|||||
| 15.11.2015, 09:41 | Auf diesen Beitrag antworten » | |||||
| Ratte | Danke für das attachment. Leider weiß ich trotzdessen nicht wie ich das in "quellcode" schreibe
|
|||||
| 15.11.2015, 12:37 | Auf diesen Beitrag antworten » | |||||
| eulerscheZahl | Rekursiver Aufruf: erhöhe left, verringere right Abbruch: left >= right |
|||||
| 15.11.2015, 13:38 | Auf diesen Beitrag antworten » | |||||
| Ratte |
Vielen dank!
Also mit (zahl\10^position)%10 Kann ich von rechts nach links gehen. Aber wie bewege ich nun die position von links nach rechts? |
|||||
| 15.11.2015, 13:42 | Auf diesen Beitrag antworten » | |||||
| eulerscheZahl | Mit (zahl\10^position)%10 bekommst du eine einzelne Ziffer. Um die Ziffer rechts daneben zu bekommen, musst du position um eins verringern, nach links musst du position erhöhen. |
|||||
| 15.11.2015, 14:07 | Auf diesen Beitrag antworten » | |||||
| Ratte | etwa so? also für right = (zahl\10^(position+1))%10 udn für left = ( zahl\10^(position-1))%10 |
|||||
| 15.11.2015, 14:10 | Auf diesen Beitrag antworten » | |||||
| eulerscheZahl | Nach Aufgabenstellung hast du die Variable position gar nicht, dafür aber right und left. Diese kannst du in die Formel gleich für position einsetzen. |
|||||
| 15.11.2015, 14:38 | Auf diesen Beitrag antworten » | |||||
| Ratte | ist das so richtig?
|
|||||
| 15.11.2015, 14:46 | Auf diesen Beitrag antworten » | |||||
| eulerscheZahl | Nein. ^ macht in Java XOR. Und du gibst nirgendwo true oder false zurück. Außerdem musst du in jedem Druchlauf 2 Ziffern miteinander vergleichen.
|
|||||
|
|
