Code Punktsumme quine


20

Alle Herausforderungen auf dieser Site konzentrieren sich auf die Anzahl der Bytes oder auf die Zeichen selbst. Dieser ist anders. Ihre Herausforderung besteht darin, ein Programm zu schreiben, das eine Ausgabe mit einer Codepunktsumme erzeugt, die mit der Codepunktsumme der Quelle identisch ist.

So erstellen Sie eine Codepunktsumme:

  1. Suchen Sie die Werte der Zeichen im Zeichensatz des Programms.
    Zum Beispiel - FOOin ASCII: F= 70, O= 79, O= 79
  2. Fügen Sie sie alle zusammen.
    Codepunktsumme FOOin ASCII: F+ O+ O= 70 + 79 + 79 = 228.

Ein Beispiel für eine ASCII-Summe wäre, wenn der Quellcode ABCund die Ausgabe waren !!!!!!. Dies liegt daran, dass die Summe der ASCII-Werte der Quelle ( A= 65, B= 66, C= 67, Summe = 198) der Summe der ASCII-Werte in der Ausgabe entspricht ( != 33, 33 * 6 = 198). . BBBwäre auch eine gültige Ausgabe, wie würde cc.

Regeln

  • Ihr Programm darf kein Reverse, Shuffled, Error oder eine andere Art von "echtem" Quine sein. Zur weiteren Erläuterung: Wenn die Ausgabe dieselben Zeichen wie die Quelle enthält, ist sie ungültig.
  • Ihr Programm kann keine Fehler / Warnungen vom Compiler / Interpreter als Ausgabe verwenden.
  • Die Quelle Ihres Programms muss dieselbe Codepage wie die Ausgabe verwenden.
  • Ihr Programm kann jede Codepage verwenden, die vor dieser Herausforderung erstellt wurde.
  • Die Ausgabe Ihres Programms darf außer Zeilenvorschüben und Tabulatoren keine nicht druckbaren Zeichen (z. B. ASCII 0 bis 31 oder höher als 127) enthalten.
  • Es gelten Standardlücken.
  • Wenn die Quelle und / oder Ausgabe einen nachgestellten Zeilenvorschub enthält, muss dieser in der Codepunktsumme enthalten sein.
  • Compiler-Flags müssen in die endgültige Byteanzahl (Punktzahl) einbezogen werden, nicht jedoch die Codepunktsumme der Quelle.
  • Die Ausgabe / Quelle darf nicht leer sein.

Wertung

Die kürzeste Antwort in Byteanzahl (nicht Codepunktsumme) gewinnt. Bitte verwenden Sie das Header-Format Antworten:

# Jelly, 12 bytes, sum 56 (SBCS)

Mit diesem Tool können Sie ASCII-Summen berechnen.

Referenz

Hier sind einige nützliche Codepage-Referenzen.


Sind Kommentare erlaubt?
musicman523

@ musicman523 ja, ich denke schon.
MD XF

Warum Warnungen nicht zulassen? Das halte ich für unnötig.
Conor O'Brien

1
@ ConorO'Brien Warnungen dürfen nicht die Ausgabe des Programms sein, zB keine Fehlerquines. Ich denke, das ist unklar, eine Minute.
MD XF

Welche Richtlinien gelten für Flaggen?
Okx

Antworten:


24

Netzhaut , 1 Byte, Summe = 58 (ASCII)

:

Dies zählt die Übereinstimmungen :in der Eingabe ( 0 ), so dass es gedruckt wird

0

Die Codepunkte von :, 0und LF (Zeilenvorschub) sind 58 , 48 bzw. 10 und 58 = 48 + 10 .

Probieren Sie es online!


14

ArnoldC, 316 Byte, Summe 20992 (ASCII)

Spaß genug.

IT'S SHOWTIME
HEY CHRISTMAS TREE s
YOU SET US UP 1
HEY CHRISTMAS TREE iaV
YOU SET US UP 0
STICK AROUND s
GET TO THE CHOPPER iaV
HERE IS MY INVITATION iaV
GET UP 8
ENOUGH TALK
TALK TO THE HAND "H"
GET TO THE CHOPPER s
HERE IS MY INVITATION 2048
LET OFF SOME STEAM BENNET iaV
ENOUGH TALK
CHILL
YOU HAVE BEEN TERMINATED

Ich habe dies und das benutzt , um meine Berechnungen durchzuführen. Hat anderthalb Stunden gedauert. Aber Spaß.

Probieren Sie es online!

Wie es funktioniert

STICK AROUNDist eine Schleife, die 2048Zeiten auf dem Index durchläuft iaV, aber dieser Index schreitet voran 8. Es gibt also 256Schleifen, Drucken Hund einen Zeilenvorschub (72 + 10 = 82, 82 * 256 = 20992).

Dies ist immer noch SEHR GOLFBAR (indem Sie andere Kalkulationen finden), aber es ist lang und langweilig, Ihre Bytesumme jedes Mal zu messen, wenn Sie eine Änderung vornehmen.

Bitte sagen Sie mir, wenn ich mich irre.


1
Die beste ArnoldC Antwort, die ich gesehen habe.
Magic Octopus Urn

1
@MagicOctopusUrn danke xD, es ist mein erster Versuch mit dieser Sprache (¿¿??!?!? Noch nicht sicher, ob es eine ist)
V. Courtois

github.com/samshadwell/TrumpScript ist eine weitere sinnlose "Sprache", wenn Sie den Präsidenten der USA emulieren möchten.
Magic Octopus Urn

@MagicOctopusUrn gut ich mache diese Herausforderung in Trumpscript dann.
V. Courtois

1
Also fand ich heraus, dass ArnoldC die Unicode-Ausgabe unterstützt, und sparte zusätzlich 2 Bytes ein. Ich habe es separat gepostet (mit Bestätigung)
TemporalWolf


8

Python 2, 11 Bytes, Summe 838 (ASCII)

print 76**8

druckt

1113034787454976

Nicht sehr klug, aber es funktioniert

Probieren Sie es online!


Tolle erste Antwort; Willkommen auf der Seite! Ich kann überprüfen, ob die ASCII-Summe korrekt ist .
MD XF

Dies ist eine Polygot, es funktioniert auch in Groovy, sehr beeindruckend.
Magic Octopus Urn

2
Gute Antwort, aber hat die Ausgabe keinen nachgestellten Zeilenvorschub, der hinzugefügt werden muss?
Setzen Sie Monica

Dies funktioniert auch in Ruby
Alexis Andersen

7

Gelee, 12 Bytes, Summe 948 (SBCS)

Du sagtest:

Gelee, 12 Bytes

dann ist es Jelly, 12 Bytes.

\
³³,: D +++

Hat Spaß gemacht, da ich Jelly überhaupt nicht kenne.

Wie es funktioniert

Ich habe keine Ahnung. Aber ³legt man 100 in den Stapel, ,legt den Stapel in ein Array oder so, :könnte das Ding verketten, während man Djeden Buchstaben der letzten Ziffer (die nicht existiert) auflistet, und +++ sind zum Spaß. Die erste und letzte Zeile hat keinen Einfluss auf die Ausgabe :)

Probieren Sie es online!

Benutzt dies um zu zählen.


4
"Ich weiß was ³und Dmache es, aber frag mich nicht, was WTF sonst noch macht." - Dies wäre auch mein Bericht, wenn ich eine Gelee-Antwort machen würde.
Magic Octopus Urn

6

CJam / Japt / bc, 2 Bytes, Summe 97 (ASCII)

A

Probieren Sie es online (CJam), Probieren Sie es online (Japt) (danke @shaggy),

Die bc-Version funktioniert auf der Kommandozeile, aber nicht mit TIO.

Ausgänge 10

Quelle: A+ Space= 65 + 32 = 97

Ausgabe: 1+ 0 = 49 + 48 = 97


Dies funktioniert auch in Japt.
Shaggy

Ich denke nicht, dass das in bc funktioniert. Alle mir bekannten Versionen bestehen auf einem nachgestellten Zeilenumbruch.
Dennis

@ Tennis Ich habe gerade das bcProgramm ausgeführt und dann eingetippt A . Soll ich es bc REPL nennen?
Geokavel


5

Kubisch , 4 Bytes, Summe 141 (ASCII)

%44E

Ausgänge 3636. Probieren Sie es online! Und hier ist der ASCII-Summenprüfer, den ich verwendet habe.

Erläuterung:

  • % bedeutet "Gesichtssumme als Ganzzahl drucken".
  • 4 druckt die Summe aller Werte zweimal auf die Rückseite (36).
  • E ist ein No-Op, nur verwendet, um die erforderliche Summe zu erhalten.

hahaha, nimm mein upvote
Giuseppe

5

Einige dieser Antworten enthalten Zeichen, die für Sie wahrscheinlich unsichtbar sind (insbesondere ASCII 17). Klicken Sie auf die TIO-Links, um deren Platzierung anzuzeigen.

Klein 100/110, 4 Bytes, Summe 147

1
@

Probieren Sie es online!

Ausgabe:

1 1

Klein 201, 4 Bytes, Summe 147

1
@

Probieren Sie es online!

Ausgabe:

1 1

Klein (beliebige Topologie), 5 Byte, Summe 221 (ASCII)

111@

Probieren Sie es online!

Dies wird gedruckt

1 1 1


Ein Dankeschön an alle, die dies aus heiterem Himmel getan haben. Sie haben mich veranlasst, mir das noch einmal anzuschauen, und jetzt habe ich es ein bisschen verbessert.
Weizen-Zauberer

@JoKing Ich würde sagen poste das als deine eigene Antwort. Es ist ziemlich schlau und mehr als nur eine Verbesserung dessen, was ich getan habe.
Weizen-Assistent

4

Java 7, 88 85 Bytes, Summe 7808 7617 7507 (ASCII)

class
w{public
static
void
main(String[]H){for(int
B=0;B<77;)System.out.print(B++);}}

Mit ziemlicher Sicherheit golfen. Es ist ziemlich einfach zu optimieren, da wir einige freie Variablen wie den Namen der Klasse und den Namen des Programmargumentparameters haben, die wir frei ändern können.

Online testen!

Probieren Sie es online!


Java 8, 84 Bytes, Summe 7434

Der Kredit geht an Kevin Cruijssen .

interface A{static void main(String[]G){for(int A=59;A-->0;)System.out.print("~");}}

Online testen!

Probieren Sie es online!


Gute Arbeit, ich kann überprüfen, ob es hier funktioniert . Würde +1 geben, aber ich habe keine Stimmen.
MD XF

Wenn Sie es in Java 8 konvertieren, können Sie dies verwenden: interface A{static void main(String[]G){for(int A=59;A-->0;)System.out.print("~");}}um es um 4 Bytes zu golfen und es auf 7434 als Summe zu senken. Probieren Sie es hier aus. und Überprüfen Sie die resultierende Summe.
Kevin Cruijssen

1
@KevinCruijssen Ich möchte meine Antwort in Java 7 behalten, habe aber Ihre Java 8-Lösung zu meiner Antwort hinzugefügt und Ihnen gutgeschrieben. Wenn Sie sich selbst posten möchten, kann ich Ihre Antwort von meiner entfernen.
Poke

3

Python 2 , 11 Bytes, Bytesumme 854 (ASCII)

Code (mit nachfolgender Newline):

print'z'*7

Ausgabe (mit nachfolgender Newline):

zzzzzzz

Probieren Sie es online!


Warum funktioniert der Abschnitt <code> nicht? Ich meine, wenn ich Ihren Beitrag bearbeite, kann ich in der Vorschau einen nachgestellten Zeilenumbruch sehen, aber wir können ihn in dem Beitrag nicht sehen.
V. Courtois

@ V.Courtois Browser Unterschiede (zB funktioniert in Firefox, funktioniert nicht in Chrome). Deshalb habe ich ausdrücklich auf die neue Zeile hingewiesen.
Anders Kaseorg

ok, es scheint etwas zu sein, was ich als nächstes tun muss Aber warum reagiert der zweite Abschnitt dann gut? : o
V. Courtois


3

V , 2 Bytes, Summe 255 (Latin1)

á

Probieren Sie es online!

Hexdump:

00000000: 1ee1                                     ..

Das erste Zeichen ist ctrl-^oder LATIN1 / ASCII-Code-Punkt 0x1E. Das zweite Zeichen ist alt-aoder das LATIN1-Zeichen 0xE1. Dieses Programm gibt aus ÿ, was 0xFFin LATIN1 ist.

Wie funktioniert es?

Das erste Zeichen ist ein No-Op. Es hat keinerlei Auswirkung auf das Programm. Das zweite Zeichen ist der Befehl zum Anhängen eines einzelnen Zeichens . Wir geben jedoch nicht an, welches Zeichen angehängt werden soll. Aufgrund impliziter Endungen wird das Zeichen angehängt, mit dem V signalisiert, dass das Programm beendet ist 0xFF.


Summe und Codepage?
MD XF

@ MDXF Das ist alles in meiner Erklärung ...
DJMcMayhem

3

05AB1E , 5 Bytes, Summe 256 (05AB1E Base-255-Übersetzung)

ΔTnon

Probieren Sie es online!


Dies gibt aus: 1606938044258990275541962092341162602522202993782792835301376

Was unter Verwendung der Codepage von 05AB1E zu Folgendem führt: [1, 6, 0, 6, 9, 3, 8, 0, 4, 4, 2, 5, 8, 9, 9, 0, 2, 7, 5, 5, 4, 1, 9, 6, 2, 0, 9, 2, 3, 4, 1, 1, 6, 2, 6, 0, 2, 5, 2, 2, 2, 0, 2, 9, 9, 3, 7, 8, 2, 7, 9, 2, 8, 3, 5, 3, 0, 1, 3, 7, 6]

Welches ist: 256


Wo der Code ist: ΔTnon

Mit Code-Punkten: [79, 29, 49, 50, 49]

Welches ist: 256


Welche Codepage ist das? Dieser listet 1als 49 , nicht 1 .
Dennis

@Dennis Ich ging mit was auch immer 05AB1E für die Funktion zurückkehrte base(char, 255), ich hatte (scheinbar falsch) angenommen, dass sie ein und dasselbe sein würden.
Magic Octopus Urn

3

Taxi , 543 Byte, Summe 47124 (ASCII)

374 is waiting at Starchild Numerology.Go to Starchild Numerology:w 1 l 2 r 1 l 1 l 2 l.Pickup a passenger going to The Underground.'~' is waiting at Writer's Depot.Go to Writer's Depot:w 1 r 1 l 1 r.Pickup a passenger going to Cyclone.Go to Cyclone:n.[a]Pickup a passenger going to Cyclone.Pickup a passenger going to Post Office.Go to Zoom Zoom:n.Go to Post Office:w 3 l 2 r 1 l.Go to The Underground:n 1 r 1 l.Switch to plan "R" if no one is waiting.Pickup a passenger going to The Underground.Go to Cyclone:n 3 l 2 l.Switch to plan "a".[R]

Probieren Sie es online! ( Überprüfung der Punktzahl )

Die Ausgabe ist 374 Tilden ~.


3

Mathematica, 2 Bytes, Summe = 101 (ASCII)

E + Space gibt e zurück

E 

Mathematica, 2 Bytes, Summe = 105 (ASCII)

es funktioniert auch für mich

I + Space gibt i zurück

I 


2

Gehirnflocke (Regenflocke) , 79 Bytes

(((((((((((((((((((((((((((((((((()()()()){}){})))))))))))))))))))))))))))))))

Probieren Sie es online!

Dies wird 1631 Mal gedruckt und eine neue Zeile.

Brain-Flak (BrainHack) , 55 Bytes

(((((((((((((((((((((()()()()){}){})))))))))))))))))))#

Probieren Sie es online!

Dies druckt 16und ein Leerzeichen 18 mal.

Auch 55 Bytes

((((((((((((((((((((((()()()){}){}))))))))))))))))))))

Probieren Sie es online!

Diesem Ausdruck 12folgt ein 19-faches Leerzeichen.


Summe und Codepage?
MD XF

@MDXF Ich erinnere mich nicht an die Summen, aber sie sind alle ascii.
Weizen-Assistent

Die zweite und dritte Zeichenfolge scheinen nicht richtig zu sein (sie geben das 19- und 20-fache der angegebenen Zeichenfolge aus), obwohl Sie beide beheben können (siehe hier) .
25.


2

Cubix , 20 Bytes, Codepunktsumme 1505

OuOOQ++OOOOU@>!OOO<

Enthält das nicht druckbare Zeichen DEL(ASCII 127).

QSchübe "(die größte verfügbare Konstante in cubix), dann druckt wiederholt ( O) 68oder 102oft genug , es zu bekommen 68686868686868102102102102102die 1505; Durch Versuche und Irrtümer wurde mir klar, dass ich 81 Punkte mehr benötigte als .(ein Cubix No-Op und ASCII 46), was zur Notwendigkeit führte DEL, was in Cubix immer noch ein No-Op ist.

Probieren Sie es online!

Auf einem Würfel:

    O u
    O O
Q + + O O O O U
@ > ! O O O  <
    . .
    . .

1
Ich sah "Cubix" und las " Cubically ", musste mich fangen, bevor ich dir ein Kopfgeld gab ... Seufzer +1
MD XF

@ MDXF Herausforderung angenommen
Giuseppe


2

Gleichstrom, 7 Bytes, Summe 720 (ASCII)

[my]fff

(91 + 109 + 121 + 93 + (102 * 3) = 720)

Ausgänge:

my
my
my

((109 + 121 + 10) * 3 = 720)


2

Karotte , 4 Bytes, Summe = 279 (ASCII)

]^*2

Probieren Sie es online!

Druckt ]]].


Weit vor mir in diesem Fall. Ich war nicht weit davon entfernt, eine korrekte Summe zu erhalten.
TheLethalCoder

@TheLethalCoder Die ASCII-Summe von ^*3war 187, also habe ich versucht zu lösen x+187=4x, aber das ergab keine ganzzahligen Lösungen. Also bin ich weitergegangen ^*2, die haben mir 186+x=3xwas gegeben xals 93, der Code Punkt von ]. Das war alles, was ich getan habe :)
Kritixi Lithos

Ah kluge Art und Weise, es zu tun :)
TheLethalCoder

Ich gehe dann davon aus, dass das ¹^*1auch funktioniert. Wenn ich meine Mathe richtig gemacht habe, ist das so. Obwohl das der Unicode-Wert ist, nicht utf8.
TheLethalCoder

@TheLethalCoder Ich nehme an, es hängt von der Codierung ab, da Carrot standardmäßig ASCII verwendet.
Kritixi Lithos

2

Kubisch , 3 Bytes, Summe = 105 (ASCII)

%4

Das dritte Byte ist DLE mit dem Codepunkt 16 , die Codepunktsumme des Quellcodes ist also
37 + 52 + 16 = 105 .

Das Programm wird gedruckt

36

deren Codepunktsumme ist 51 + 54 = 105 .

Probieren Sie es online!


* implementiert DLE * Entschuldigung, ungültig. : P +1
MD XF

Oh, ich habe hier keine andere kubische Lösung gesehen. Hoppla!
TehPers

2

Cubix , 11 Bytes, Bytesumme 954 (ASCII)

Code:

vOw~N(!@O^|

Ausgabe:

998877665544332211

Hier verifiziert!

Probieren Sie es online!

Cubified:

    v O
    w ~
N ( ! @ O ^ | .
. . . . . . . .
    . .
    . .
  • N Initialisiert den Stack mit 10
  • (! Dekrementieren und auf Wahrheit prüfen
    • @ auf null halt
  • O^O Ausgabe der aktuellen Nummer auf die Oberseite umleiten und erneut ausgeben
  • vwUmleiten zurück zum (Dekrement, um die Schleife erneut zu beginnen

Schau es dir an


1

Hülsen , 4 Bytes, Summe 334 ( Hülsen-SBCS )

up63

Ausgabe:

[3,7]

Der Wert einer Ziffer ist gegeben durch 0x3?(wo ?steht für diese Ziffer) und u, p, [, ], ,haben Werte 0x75, 0x70, 0x5b, 0x5d, 0x2c- also die Summen sind:

0x75 + 0x70 + 0x36 + 0x33        = 0x14e
0x5b + 0x33 + 0x2c + 0x37 + 0x5d = 0x14e

Probieren Sie es online!


1

JavaScript (ES6), 6 Byte, Summe = 385 (ASCII)

Y=>1E7

Ausgänge 10000000. Es gibt andere 6-Byte-Antworten wie h=>1e8. Versuchen Sie diesen Codepunktzähler:

<input oninput=o.textContent=[...this.value].reduce(function(s,c){return(s+c.charCodeAt())},0)><pre id=o>0



1

Gaia , 4 Bytes, Summe 176 ( SBCS )

6 5%

Erläuterung

In Gaias Codepage hat der Zeilenvorschub einen Codepunkt von x7F (127 in Dezimal). Druckbare ASCII-Zeichen haben denselben Codepunkt wie in ASCII.

Dies berechnet 6 modulo 5, was 1 ist, und druckt 1mit einem nachfolgenden Zeilenvorschub.

Byte-Werte der Zeichen in der Codepage (in Dezimalzahl):

6 5%: 54 + 32 + 53 + 37 = 176

1: 49 + 127 (Zeilenvorschub) = 176


1

Trumpscript, 131 Bytes, Summe 10600 (ASCII)

They wants to make war 110000000;make dark 10000000;as long as,dark less war;:make dark,dark plus 1000000;say "00"!america is great

Ist das das wirkliche Leben?

Prüfen Sie dies .

Vielen Dank an @MagicOctopusUrn, dass Sie mir gesagt haben, dass es das gibt.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.