Aufgabe:
Ich weiß, wir können alle zwei Zahlen hinzufügen, indem wir verwenden +
. Ihre Aufgabe ist es, den längsten Code zu erstellen, mit dem Sie zwei Eingabenummern hinzufügen können.
Regeln:
- Der gesamte Code muss zu einem Thema gehören (füllen Sie ihn nicht mit Code ohne Zusatz, um die Länge zu erhöhen).
- Die Zählung erfolgt in Zeichen, jedoch ohne Tabulatoren, Leerzeichen oder Zeilenumbrüche.
- Verwenden Sie keine zu langen Variablennamen
- Das ist Code-Bowling , also gewinnt die längste Antwort!
number
code-bowling
Der Doktor
quelle
quelle
a + b - b + b...
? Es wäre unendlicha + b/2
nichta + b
(es ähnelt Grandis Serie ).Antworten:
C ++ MEHR ALS 3x10 ^ + 618 (OHNE WEISSE LEERTASTEN, Tabulatoren oder Zeilenumbrüche)
Dieser Code brauchte mehr Mathematik als Logik! bei der Zählung der Anzahl von Bytes
KURZER CODE
AUSGABE
Ja wirklich ? ernst! Sie möchten die Ausgabe sehen? Das Schreiben dieses Codes würde Wochen und das Kompilieren Monate dauern!
quelle
x
odery
nicht?C - 2.739.341.494.945.868.415.002 (ohne Leerzeichen)
Brute Force für den Sieg. Behandelt nur Ganzzahlen und behält das Überlaufverhalten bei. Hier ist ein Ausschnitt aus dem Code:
Dies ist offensichtlich viel zu groß, um entweder hier oder in Pastebin hochgeladen zu werden. Daher hier ein Programm, das den Quellcode für die Funktion generiert (Ausgabe in eine Datei umleiten - vorausgesetzt, Sie haben den Speicherplatz auf dem Laufwerk):
Ich schaudere, wie lange die Funktion für lange Sehnsüchte sein würde ...
BEARBEITEN: Die Punktzahl wurde neu berechnet (sollte korrekt sein), um eine genaue Zählung zu erhalten. Ich denke lieber, dass ich es mit 10²² Zeichen gespielt habe, als ich das Leerzeichen entfernt habe.
quelle
else if
.LEFT_SIDE_NEG_2147483648 = -2147483648
).C ++, 3573
3573, dann wurde es langweilig, aber ich kann weitere Abstraktionsebenen hinzufügen.
quelle
Ruby, 29048 (kann so hoch wie nötig sein, aber ich musste es unter die Zeichenbeschränkung für Posts bringen)
Und woher habe ich diese riesige Saite, fragst du? Dies ist das Programm, mit dem ich es erstellt habe:
Ja für "Komprimierung"! : P
Wie Sie sehen, habe ich das Längenlimit der Zeichenfolge auf 29000 festgelegt, was knapp unter dem Längenlimit für Stapelaustausch-Posts liegt, aber ich könnte das so hoch machen, wie ich wollte.
quelle
PHP - 1299
Die Regeln verbieten die Verwendung externer Bibliotheken nicht. Hier ist der Code für SimplePHPEasyPlus :
quelle
C (über Perl) - 170.141.183.381.241.069.554.076.045.499.751.727.125 (das ist 1.70141183381241e + 38) für vorzeichenlose 32-Bit-Eingaben
Meine Philosophie ist, dass es nicht ratsam ist, sich bei der Implementierung von Additionen von Grund auf auf vorberechnete Costants wie 2, 3, 7 oder 65535 zu verlassen! 0 und 1 sollten die einzigen Konstanten sein, die wir brauchen, richtig?
Daher berechne ich keine Konstanten vor - ich berechne sie im laufenden Betrieb, wie unten gezeigt! Zur Unterstützung der 8-Bit-Ganzzahleingabe mit Vorzeichen benötigen Sie Quellcode mit einer Länge von 20.461.843 Nicht-Leerzeichen. Um eine 32-Bit-Ganzzahleingabe mit Vorzeichen zu implementieren, benötigen Sie Quellcode der Länge 1.70141183381241e + 38 ;-)
Bereit für einen kleinen Ausschnitt aus dem 8-Bit-Integer-Code mit Vorzeichen? Hier sind Sie ja:
Beachten Sie, dass dieser Code etwas Golf spielt - ich sage zB nicht:
Keine Notwendigkeit zu überprüfen, ob x jedes Mal gleich eins ist, oder? Mein Code ist also weitaus effizienter und prägnanter als der folgende:
Ich könnte die Codelänge sicherlich noch weiter verlängern, indem ich auf die weniger präzise Methode umsteige =)
Und hier ist der Quellcode, mit dem ich diese Monstrositäten generiert habe, aber seien Sie vorsichtig - die Darstellung einer 24-Bit-Ganzzahl in diesem Format (jeweils 33 MB) führt dazu, dass Perl mehr als 1 GB Speicher auf meinem Computer belegt. Wenn Sie mehr als 512 GB Speicher zur Verfügung haben, sollten Sie es mit 32-Bit-Ganzzahlen versuchen können =)
Puh, das ist es =)
quelle
Java - 2406 (3220 mit Leerzeichen)
Wir alle wissen, dass Computer gut mit Bits umgehen können und nicht so gut mit allem anderen. Deshalb führe mein Programm die Addition mit effizienter bitweiser Addition durch!
quelle
Java -
309731759Nicht die längste, aber die plausibelste falsche Interpretation.
edit: Hoppla, habe gerade bemerkt, dass dies kein Code-Trolling ist .
quelle
for
Schleife zu sagen hatten "repliziere das über alle Bits der Eingangsbusse". (Stellen Sie sich eine Sprache mit prozeduraler Syntax und funktionaler Ausführung vor ... wobei das Hauptwerkzeug für die Bearbeitung eine hochprozedurale Darstellung als Flussdiagramm war ... was soll ich sagen, es war eine frühe Anstrengung.)Python 2.7 (Hinzufügung des guten Weges)
Das Guthaben geht an https://stackoverflow.com/questions/366706/bitwise-subtraction-in-python
quelle
raw_input()
. Ich habe das OP darauf hingewiesen, dass es eine gute Praxis ist, die Sprache anzugeben.quelle
C # - 5395
Ermöglicht die Ausgabe von CIL- Code zur Hinzufügung mithilfe einer dynamischen Methode. Eigentlich gebe ich Code aus, der wiederum Code zum Aufrufen der Ganzzahladdition ausgibt. Die folgende Funktion erstellt
Add()
eine dynamische Methode, die beim Ausführen eine dynamische Methode zum Aufrufen der Ganzzahladdition erstellt.quelle
{System.SystemException}: {"JIT Compiler encountered an internal limitation."}
Angenommen, Sie möchten, dass der Code länger als n Zeichen ist. Der folgende Code ist viel länger.
quelle
C
Funktioniert nicht gut bei großen Stückzahlen, kann aber dadurch ersetzt werden
quelle