Hi, bearbeite im Moment eine Aufgabe meines Java-Kurses, die da lautet:
Aufgabe 14:
Zu einer gegebenen natürlichen Zahl z mit n-Ziffern ist ihre sogenannte „Umlaufzahl“ u folgendermaßen definiert:
•
Die erste Ziffer von z ist auch die erste Ziffer von u.
•
Die n+1-te Ziffer von u ergibt sich folgendermaßen: Laufe in der Zahl z von der n-ten Ziffer aus gesehen so viele Ziffern nach rechts (gegebenenfalls wieder vorne anfangen!) wie der Wert der n-ten Ziffer angibt. Die erreichte Ziffer in z ist die n+1-te Ziffer von u.
•
Sobald eine Ziffer in z zum zweiten Mal erreicht wird, ist der Algorithmus beendet.
Beispiel: (z = 6354)
6 3 5 4 u: 6
6 3 5 4 u: 65
6 3 5 4 u: 654
6 3 5 4 u: 6544
Noch ein Beispiel: (z = 1213013)
1 2 1 3 0 1 3 u: 1
1 2 1 3 0 1 3 u: 12
1 2 1 3 0 1 3 u: 123
1 2 1 3 0 1 3 u: 1233
1 2 1 3 0 1 3 u: 12331
1 2 1 3 0 1 3 u: 123313
Aufgabe: Schreiben Sie ein Java-Programm, das eine natürliche Zahl z einliest, die zugehörige Umlaufzahl berechnet und ausgibt.
Die einzigen bisher erlernten Anwesiungen sind for, do, while, if, break, continue und Funktionen und Prozeduren. Daher kann ich den Programm-Ablauf nur damit planen.
Meine bisherige Idee ist es jeder Ziffer der Zahl zu numerieren, wofür ich auch schon eine funktion habe. Leider fehlt mir sonst ein Ansatz.
Gruß
Aufgabe 14:
Zu einer gegebenen natürlichen Zahl z mit n-Ziffern ist ihre sogenannte „Umlaufzahl“ u folgendermaßen definiert:
•
Die erste Ziffer von z ist auch die erste Ziffer von u.
•
Die n+1-te Ziffer von u ergibt sich folgendermaßen: Laufe in der Zahl z von der n-ten Ziffer aus gesehen so viele Ziffern nach rechts (gegebenenfalls wieder vorne anfangen!) wie der Wert der n-ten Ziffer angibt. Die erreichte Ziffer in z ist die n+1-te Ziffer von u.
•
Sobald eine Ziffer in z zum zweiten Mal erreicht wird, ist der Algorithmus beendet.
Beispiel: (z = 6354)
6 3 5 4 u: 6
6 3 5 4 u: 65
6 3 5 4 u: 654
6 3 5 4 u: 6544
Noch ein Beispiel: (z = 1213013)
1 2 1 3 0 1 3 u: 1
1 2 1 3 0 1 3 u: 12
1 2 1 3 0 1 3 u: 123
1 2 1 3 0 1 3 u: 1233
1 2 1 3 0 1 3 u: 12331
1 2 1 3 0 1 3 u: 123313
Aufgabe: Schreiben Sie ein Java-Programm, das eine natürliche Zahl z einliest, die zugehörige Umlaufzahl berechnet und ausgibt.
Die einzigen bisher erlernten Anwesiungen sind for, do, while, if, break, continue und Funktionen und Prozeduren. Daher kann ich den Programm-Ablauf nur damit planen.
Meine bisherige Idee ist es jeder Ziffer der Zahl zu numerieren, wofür ich auch schon eine funktion habe. Leider fehlt mir sonst ein Ansatz.
Gruß