[leicht bis schwer] BigNum selbstgemacht

CDW

Moderator
Mitarbeiter
Eingereicht von CypherL0rd.
unzwar geht es darum ein programm zu coden, das zwei ganz grosse zahlen wie zb ein mal 2^256 und das andere mal 3^256 addiert und multipliziert und ausgibt.
Es soll also der Umgang mit großen Zahlen, sagen wir mal minimum 2^4096 (gerne auch größer) , selbständig implementiert werden.
Die Schwierigkeit variiert - je nach Nutzung der vorhandenen Sprachfeatures, Bibliotheken und Algorithmen.
z.B könnte man im einfachsten Fall die handschriftliche Rechnerei (ich hoffe, das wird in den Schulen immer noch gelehrt ;) )
nachbilden und Multiplikation auf mehrfach angewendete Addition zurückführen -- das wird durchaus funktionieren, wenn auch nicht gerade der Performanceknüller sein.


Pflicht: Addition, Subtraktion, kleine Vorführung/Test und falls nötig, Routinen für eine lesbare Ausgabe:
Code:
> 12345
oder
> 1,2,3,4,5
oder
> [1,2,3,4,5]
oder
> ['1','2',...]
> 0x3039
usw.
man soll das Ergebnis also nicht im Debugger ablesen müssen.

Optional:
- weitere Rechenperationen
- verbesserte Performance
- bequemere Eingabe von Literalen im Code, also:
Code:
x = mybigint("36893488147419103232")
statt
x = [3, 6, 8, 9, 3, 4, 8, 8, 1, 4, 7, 4, 1, 9, 1, 0, 3, 2, 3, 2]
falls eure Sprache diese nicht unterstützt.

h4v phu|\|
 
Zuletzt bearbeitet:
Oben