Zitat von
DGL-luke:
-stack durch divisor teilen
Das wär schon das erste Problem. Ich kann nicht eine Zahl durch eine Zahl teilen, wenn ich gerade erst die Funktion dazu schreibe.
Das mag jetzt ein bisschen wirr vorkommen, aber wenn der Divisor zum Beispiel 51431435415415251541566240261341656264134313421323 12321468671795... wäre, bekäme ich mit den herkömmlichen Variabeln und Funktionen Probleme.
Hier mal der Ausgang. Zwei Zahlen vom Typ BigInt...
Delphi-Quellcode:
type
Zahl = 0..9; // Eine Dezimalstelle...
BigInt = array [1..BigIntSize] of Zahl;
... wobei jede Stelle des arrays auch die Dezimalstelle der Zahl darstellt. Nun will ich 2 Zahlen vom Typ BigInt dividieren.
Also, nur noch mal kurz die Vorhergehensweise zusammengefasst:
- Als Grungerüst benutzte ich eine repeat-Schleife, bis der Zähler i null erreicht (?)
- Ich hole mir eine Zahl, beginnend von der größten Dezimalstelle ab, und füge die in ein Zwischen-Array ab. Hier stoße ich schon auf technische Umsetztungs-Probleme.
- Dann probiere ich in einer neuen Schleife, wie lange ich brauche, bis der Divisor größer ist als der Dividend. Die Anzahl der Schritte ist mein Zwischenergebnis. Der Dividend - den erhhöhten Divisor ist mein Rest.
- Dann muss ich wieder so lange Zahlen vom Dividend herunter holen, bis ich wieder teilen kann...
Habt ihr eine Idee, wie ich die Teile nun umsetzten kann?