Leistungsfähige Programmiersprache?
Hallo zusammen!
Ich habe interesse an dem 3x+1 Problem gefunden, und ein simples Scipt zur Berechnung von diesem in Pathon geschrieben. Mein Problem ist jetz, dass ich in Python höchsten 4300 Ziffern zur verarbeitung eingeben kann.
Meine Frage ist demnach, ob es eine (nicht alzuschwere) Sprache gibt, mit der ich win paar 10.000 oder mehr Ziffern verarbeiten kann?
Hier ein Screenshot der Fehlermeldung
Wie bist du auf dieses Limit gekommen? Wie list du diese Zeichen ein?
Ich habe versucht 16.000 Zeichen einzugeben, worauf mir gleich zwei Programme (PyCharm und Visual Studio) die Fehlermekdung mit dem entsprechendem Hinweis gegeben haben
3 Antworten
Das Limit mit den (standardmäßig eingestellten) maximal 4300 Ziffern gibt es seit der Python-Version 3.11, ist also noch relativ neu.
Siehe auch: https://docs.python.org/3/library/stdtypes.html#integer-string-conversion-length-limitation
============
Das ist jetzt nicht unbedingt ein Grund die Programmiersprache zu wechseln, wenn das dein einziges Problem ist.
Du könntest eine vorige Python-Version verwenden. Oder du könntest einfach das Limit entsprechend anpassen.
Siehe auch: https://docs.python.org/3/library/stdtypes.html#configuring-the-limit
Dementsprechend könntest du beispielsweise...
import sys
sys.set_int_max_str_digits(16000)
... in deinem Python-Skript ergänzen, um das Limit von 4300 auf 16000 Ziffern zu erhöhen. (Bzw. kannst du statt 16000 auch einen anderen Wert deiner Wahl verwenden. Je nachdem, wie groß das Limit sein soll.)
in C# gibt es für sowas beispielsweise das BigInteger struct. die sprache ist auch relativ simpel und im normalfall auch deutlich performanter als python.
Es gibt viele Programmiersprachen, die beliebig lange Ganzzahlen verarbeiten können – natürlich im Rahmen des vorhandenen Arbeitsspeichers. Oft sind dafür spezielle Module einzubinden. Bei Computeralgebrasystemen wie Maxima sind beliebig lange Ganzzahlen der Standard-Zahlentyp.
Schau hier:
https://en.wikipedia.org/wiki/List_of_arbitrary-precision_arithmetic_software
https://de.wikipedia.org/wiki/Maxima_(Computeralgebrasystem)