Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Rekursion in Java » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Rekursion in Java
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Ersti
Grünschnabel


Dabei seit: 01.12.2014
Beiträge: 1

Rekursion in Java Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Ich habe eine folgendes Problem. Das hier ist die Aufgabe:
Uberführen Sie ein n element N in p-adische Darstellung. Sie können einen Gültigkeitsbereich für p von [2;16] annehmen. Die Methode soll das Ergebnis in einem Stringzurück geben. Beispiele:
rebase (5,2) = "101"
rebase (237,16) = "ED"
Ich weis nicht wie ich dual etc definieren soll. Ich habe so viele Ansätze schon ausprobiert und weis immer noch nicht.

Meine Ideen:
public static String rebase(int n, int p){
if (p==2)
{
return new String(dual(n).toString());

}
else if (p==8)
{
return new String(octal(n).toString());
etc.
private static String dual(int n) {
String solution ="";
return solution;
}
private static String octal(int n) {
String solution ="";
return solution;
}
01.12.2014 16:50 Ersti ist offline E-Mail an Ersti senden Beiträge von Ersti suchen Nehmen Sie Ersti in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Es gibt ein allgemeingültiges Verfahren zum Unwandlung in eine andere Basis:
solange die Zahl > 0 ist:
* Füge Zahl modulo Basis vorne an die Zahl an
* Teile die Zahl durch die Basis (der Teil nach dem Komma wird abgeschnitten)

Beispiel: Umwandlung von 17 in Basis 3:
code:
1:
2:
3:
17 / 3 = 5 R 2
 5 / 3 = 1 R 2
 1 / 3 = 0 R 1

der Rest (Ergebnis von modulo) ergibt von unten nach oben gelesen 122.
1*3^2 + 2*3^1 + 2*3^0 = 9 + 2*3 + 2*1 = 17, die Rechnung geht also auf.

Ob du das jetzt rekursiv oder interativ definierst, sei dir überlassen (wenn nicht Rekursion verlangt wird). Von dual und oktal würde ich absehen, da es ja auch unabhängig von der Basis machbar ist, also warum für jede Basis eine eigene Funktion schreiben.

Wenn du damit nicht weiterkommst, einfach melden.

__________________
Syntax Highlighting fürs Board (Link)
01.12.2014 17:33 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Rekursion in Java