Code point somme quine

20

Tous les défis sur ce site sont axés sur le nombre d'octets ou sur les personnages eux-mêmes. Celui-ci est différent. Votre défi consiste à écrire un programme qui produit une sortie dont la somme des points de code est identique à la somme des points de code de la source.

Pour produire une somme de points de code:

  1. Recherchez les valeurs des caractères dans le jeu de caractères du programme.
    Par exemple - FOOen ASCII: F= 70, O= 79, O= 79
  2. Ajoutez-les tous ensemble.
    Somme des points de code FOOen ASCII: F+ O+ O= 70 + 79 + 79 = 228.

Un exemple de quine de somme ASCII serait si le code source était ABCet la sortie était !!!!!!. En effet, la somme des valeurs ASCII de la source ( A= 65, B= 66, C= 67, somme = 198) est la même que la somme des valeurs ASCII dans la sortie ( != 33, 33 * 6 = 198) . BBBserait également une sortie valide, comme le serait cc.

Règles

  • Votre programme ne doit pas être une inversion, une lecture aléatoire, une erreur ou tout autre type de quine "vrai". Pour élaborer: Si la sortie contient tous les mêmes caractères que la source, elle n'est pas valide.
  • Votre programme ne peut utiliser aucune erreur / avertissement du compilateur / interpréteur comme sortie.
  • La source de votre programme doit utiliser la même page de code que la sortie.
  • Votre programme peut utiliser n'importe quelle page de code qui a été créée avant ce défi.
  • La sortie de votre programme ne doit contenir aucun caractère non imprimable (par exemple ASCII 0 à 31, ou supérieur à 127) à part les sauts de ligne et les tabulations.
  • Des échappatoires standard s'appliquent.
  • Si la source et / ou la sortie a un saut de ligne de fin, il doit être inclus dans la somme des points de code.
  • Les drapeaux du compilateur doivent être inclus dans le nombre d'octets final (score), mais pas la somme des points de code source.
  • La sortie / source n'est peut-être pas vide.

Notation

La réponse la plus courte en nombre d'octets (pas la somme des points de code) l'emporte. Veuillez utiliser les réponses de ce format d'en-tête:

# Jelly, 12 bytes, sum 56 (SBCS)

Vous pouvez utiliser cet outil pour calculer les sommes ASCII.

Référence

Voici quelques références de pages de codes utiles.

MD XF
la source
Les commentaires sont-ils autorisés?
musicman523
@ musicman523 oui, je suppose que oui.
MD XF
Pourquoi refuser les avertissements? Je pense que ce n'est pas nécessaire.
Conor O'Brien
1
@ ConorO'Brien Les avertissements ne sont pas autorisés à être la sortie du programme, par exemple pas de quines d'erreur. Je suppose que ce n'est pas clair, une minute.
MD XF
Quelle est la politique sur les drapeaux?
Okx

Réponses:

24

Rétine , 1 octet, somme = 58 (ASCII)

:

Cela compte les correspondances de :dans l'entrée ( 0 ), donc il imprime

0

Les points de code de :, 0et LF (saut de ligne) sont 58 , 48 et 10 (respectivement) et 58 = 48 + 10 .

Essayez-le en ligne!

Dennis
la source
14

ArnoldC, 316 octets, somme 20992 (ASCII)

Assez amusant.

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

J'ai utilisé ceci et cela pour faire mes calculs. Ça m'a pris une heure et demie. Mais amusant.

Essayez-le en ligne!

Comment ça fonctionne

STICK AROUNDest une boucle, qui boucle les 2048temps sur l'index iaV, mais cet index passe par 8. Il y a donc des 256boucles, une impression Het un saut de ligne (72 + 10 = 82, 82 * 256 = 20992).

C'est encore FORTEMENT golfable (en trouvant d'autres calculs) mais c'est long et ennuyeux pour mesurer votre somme d'octets chaque fois que vous faites une modification.

Veuillez me dire si je me trompe quelque part.

V. Courtois
la source
1
La meilleure réponse d'ArnoldC que j'ai vue.
Magic Octopus Urn
1
@MagicOctopusUrn merci xD c'est mon premier essai sur cette langue (¿¿??!?!? Toujours pas sûr que ce soit une)
V. Courtois
github.com/samshadwell/TrumpScript est un autre "langage" inutile si vous voulez imiter le président des États-Unis.
Magic Octopus Urn
@MagicOctopusUrn bien ima faisant alors ce défi en atout.
V. Courtois
1
J'ai donc découvert qu'ArnoldC prend en charge la sortie Unicode et a réduit de 2 octets supplémentaires. Je l'ai posté séparément (avec remerciement)
TemporalWolf
8

Python 2, 11 octets, somme 838 (ASCII)

print 76**8

impressions

1113034787454976

Pas très intelligent mais ça marche

Essayez-le en ligne!

gkardos
la source
Grande première réponse; bienvenue sur le site! Je peux vérifier que la somme ASCII est correcte .
MD XF
C'est un polygot, ça marche aussi chez Groovy, très impressionnant.
Urne de poulpe magique du
2
Excellente réponse, mais la sortie n'a-t-elle pas un saut de ligne final qui doit être ajouté?
Rétablir Monica le
Cela fonctionne aussi en rubis
Alexis Andersen
7

Gelée, 12 octets, somme 948 (SBCS)

Tu as dit:

Gelée, 12 octets

c'est Jelly, 12 octets.

\
³³³,: D +++

C'était amusant, car je ne connais pas du tout Jelly.

Comment ça fonctionne

Je n'en ai aucune idée. Mais ³met 100 dans la pile, ,place la pile dans un tableau ou quelque chose, :peut concaténer la chose tandis que Drépertorie chaque lettre du dernier chiffre (qui n'existe pas), et +++ sont pour le plaisir. La première et la dernière ligne n'affectent pas la sortie :)

Essayez-le en ligne!

Utilisé ce à compter.

V. Courtois
la source
4
"Je sais quoi ³et Dfait, mais ne me demandez pas quoi que ce soit d'autre à WTF." - Ce serait aussi mon compte rendu si je faisais une réponse Jelly.
Magic Octopus Urn
6

CJam / Japt / bc, 2 octets, somme 97 (ASCII)

A

Essayez-le en ligne (CJam), essayez-le en ligne (Japt) (merci @shaggy),

La version bc fonctionne sur la ligne de commande, mais pas sur TIO.

Les sorties 10

Source: A+ Space= 65 + 32 = 97

Sortie: 1+ 0 = 49 + 48 = 97

geokavel
la source
Cela fonctionne également dans Japt.
Shaggy
Je ne pense pas que cela fonctionne en Colombie-Britannique. Toutes les versions que je connais insistent sur une nouvelle ligne de fuite.
Dennis
@Dennis Je viens de lancer le bcprogramme, puis j'ai tapé A . Dois-je l'appeler bc REPL?
geokavel
5

Cubiquement , 4 octets, somme 141 (ASCII)

%44E

Sorties 3636. Essayez-le en ligne! Et voici le vérificateur de somme ASCII que j'ai utilisé.

Explication:

  • % signifie «imprimer la somme des faces sous forme d'entier».
  • 4 imprime deux fois la somme de toutes les valeurs sur la face ARRIÈRE (36).
  • E est un no-op, juste utilisé pour obtenir la somme requise.
MD XF
la source
hahaha, prenez mon vote positif
Giuseppe
5

Certaines de ces réponses contiennent des caractères qui vous seront probablement invisibles (en particulier ASCII 17), cliquez sur les liens TIO pour voir leur emplacement.

Klein 100/110, 4 octets, somme 147

1
@

Essayez-le en ligne!

Production:

1 1

Klein 201, 4 octets, somme 147

1
@

Essayez-le en ligne!

Production:

1 1

Klein (toute topologie), 5 octets, somme 221 (ASCII)

111@

Essayez-le en ligne!

Ceci imprime

1 1 1

Post Rock Garf Hunter
la source
Un remerciement à celui qui vient de voter sur cette note. Vous m'avez obligé à y jeter un deuxième coup d'œil et maintenant je l'ai un peu amélioré.
Post Rock Garf Hunter
@JoKing Je dirais que c'est votre propre réponse. C'est assez intelligent et c'est plus qu'une simple amélioration de ce que j'ai fait.
Post Rock Garf Hunter
4

Java 7, 88 85 octets, somme 7808 7617 7507 (ASCII)

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

Presque certainement jouable au golf. C'est assez facile à modifier car nous avons des variables de rechange comme le nom de la classe et le nom du paramètre d'arguments du programme que nous pouvons changer librement.

Testez-le en ligne!

Essayez-le en ligne!


Java 8, 84 octets, somme 7434

Le mérite revient à Kevin Cruijssen .

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

Testez-le en ligne!

Essayez-le en ligne!

Poussée
la source
Bon travail, je peux vérifier que cela fonctionne ici . Serait +1 mais je n'ai plus de votes.
MD XF
En le convertissant en Java 8, vous pouvez utiliser ceci: interface A{static void main(String[]G){for(int A=59;A-->0;)System.out.print("~");}}le jouer au golf de 4 octets et le réduire à 7434 comme somme. Essayez-le ici. et vérifier la somme résultante.
Kevin Cruijssen
1
@KevinCruijssen Je voudrais garder ma réponse dans Java 7 mais j'ai ajouté votre solution Java 8 à ma réponse et je vous ai crédité. Si vous préférez vous poster, je peux supprimer votre réponse de la mienne.
Poke
3

Python 2 , 11 octets, somme des octets 854 (ASCII)

Code (avec retour à la ligne):

print'z'*7

Sortie (avec retour à la ligne):

zzzzzzz

Essayez-le en ligne!

Anders Kaseorg
la source
pourquoi la section <code> ne fonctionne-t-elle pas? Je veux dire, je peux voir une nouvelle ligne à la fin de l'aperçu lorsque je modifie votre message, mais nous ne pouvons pas le voir sur le message.
V. Courtois
@ Différences du navigateur V.Courtois (par exemple, fonctionne dans Firefox, ne fonctionne pas dans Chrome). C'est pourquoi j'ai souligné explicitement la nouvelle ligne.
Anders Kaseorg
ok, on dirait que c'est quelque chose que je vais devoir faire ensuite. Mais pourquoi la deuxième section réagit-elle bien alors? : o
V. Courtois
3

brainfuck , 3 octets - somme d'octets 255 (ISO-8859-1)

-.¤

Essayez-le en ligne!

Nécessite des cellules 8 bits. Imprime le caractère ÿ, qui est la valeur 255. ¤est un no-op pour remplir la somme.

musicman523
la source
3

V , 2 octets, somme 255 (Latin1)

á

Essayez-le en ligne!

Hexdump:

00000000: 1ee1                                     ..

Le premier caractère est ctrl-^, ou point de code LATIN1 / ASCII 0x1E. Le deuxième caractère est alt-a, ou le caractère LATIN1 0xE1. Ce programme sort ÿ, qui est 0xFFen LATIN1.

Comment ça marche?

Le premier personnage est un no-op. Cela n'a aucun effet sur le programme. Le deuxième caractère est la commande d' ajout d'un seul caractère . Mais nous ne précisons pas quel caractère ajouter. Donc, en raison de terminaisons implicites , il ajoute le caractère que V utilise pour signaler que le programme est terminé, ce qui se trouve être 0xFF.

DJMcMayhem
la source
Somme et page de code?
MD XF
@MDXF C'est tout dans mon explication ...
DJMcMayhem
3

05AB1E , 5 octets, somme 256 (05AB1E Traduction Base-255)

ΔTnon

Essayez-le en ligne!


Cela produit: 1606938044258990275541962092341162602522202993782792835301376

Ce qui, en utilisant la page de codes de 05AB1E, donne: [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]

Lequel est: 256


Où est le code: ΔTnon

Avec des points de code: [79, 29, 49, 50, 49]

Lequel est: 256

Urne de poulpe magique
la source
De quelle page de code s'agit-il? Celui - ci liste 1que 49 , pas 1 .
Dennis
@Dennis Je suis allé avec tout ce que 05AB1E a retourné pour la fonction base(char, 255), j'avais supposé (apparemment à tort) qu'ils seraient une seule et même chose.
Magic Octopus Urn
3

Taxi , 543 octets, somme 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]

Essayez-le en ligne! ( Vérification du score )

La sortie est de 374 tildes ~.

Ingénieur Toast
la source
3

Mathematica, 2 octets, somme = 101 (ASCII)

E + Space renvoie e

E 

Mathematica, 2 octets, somme = 105 (ASCII)

ça marche pour moi aussi

I + Space renvoie i

I 
J42161217
la source
2

Brain-Flak (Rain-Flak) , 79 octets

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

Essayez-le en ligne!

Cela imprime 16et une nouvelle ligne 31 fois.

Brain-Flak (BrainHack) , 55 octets

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

Essayez-le en ligne!

Cela imprime 16et un espace 18 fois.

Aussi 55 octets

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

Essayez-le en ligne!

Cela imprime 12suivi d'un espace 19 fois.

Post Rock Garf Hunter
la source
Somme et page de code?
MD XF
@MDXF Je ne me souviens pas des sommes mais elles sont toutes ascii.
Post Rock Garf Hunter
Les deuxième et troisième ne semblent pas corrects (ils impriment 19 et 20 fois la chaîne mentionnée), bien que vous puissiez les corriger tous les deux, voir ici .
ბიმო
2

Cubix , 20 octets, somme de points de code 1505

OuOOQ++OOOOU@>!OOO<

Contient le caractère non imprimable DEL(ascii 127).

Qpousse "(la plus grande constante disponible dans cubix), puis imprime à plusieurs reprises ( O) 68ou 102suffisamment de fois pour l'obtenir, ce 68686868686868102102102102102qui est 1505; à travers quelques essais et erreurs, j'ai réalisé que j'avais besoin de 81 points de plus que .(un Cubix no-op et ASCII 46), ce qui a entraîné un besoin DEL, qui est toujours un no-op dans Cubix.

Essayez-le en ligne!

Sur un cube:

    O u
    O O
Q + + O O O O U
@ > ! O O O  <
    . .
    . .
Giuseppe
la source
1
J'ai vu "Cubix" et lu " Cubically ", j'ai dû me rattraper avant de te donner une prime ... soupir +1
MD XF
Défi @MDXF accepté
Giuseppe
Beat you: P
MD XF
2

dc, 7 octets, somme 720 (ASCII)

[my]fff

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

Les sorties:

my
my
my

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

brhfl
la source
2

Carotte , 4 octets, somme = 279 (ASCII)

]^*2

Essayez-le en ligne!

Impressions ]]].

Kritixi Lithos
la source
Bien en avance sur moi dans celui-ci. Je n'étais pas près d'obtenir une somme correcte.
TheLethalCoder
@TheLethalCoder La somme ASCII de ^*3187 était donc j'ai essayé de résoudre x+187=4x, mais cela n'a abouti à aucune solution entière. Je suis donc passé à ^*2, qui ont moi 186+x=3xqui m'a donné xcomme 93point de code ]. C'est tout ce que j'ai fait :)
Kritixi Lithos
Ah smart way of doing it :)
TheLethalCoder
I assume then that ¹^*1 also works. If I did my maths correctly that is. Although that is the unicode value not utf8.
TheLethalCoder
@TheLethalCoder I'd suppose it depends on the encoding, because Carrot uses ASCII by default.
Kritixi Lithos
2

Cubically, 3 bytes, sum = 105 (ASCII)

%4

The third byte is DLE, which has code point 16, so the code point sum of the source code is
37 + 52 + 16 = 105.

The program prints

36

whose code point sum is 51 + 54 = 105.

Try it online!

Dennis
la source
*implements DLE* sorry, invalid. :P +1
MD XF
Oh, I didn't see another Cubically solution here. Whoops!
TehPers
2

Cubix, 11 bytes, byte sum 954 (ASCII)

Code:

vOw~N(!@O^|

Output:

998877665544332211

Verified here!

Try it online!

Cubified:

    v O
    w ~
N ( ! @ O ^ | .
. . . . . . . .
    . .
    . .
  • N initializes the stack with 10
  • (! decrement and test for truthy
    • @ on zero halt
  • O^O output current number redirect to top face and output again
  • vw redirect back to the ( decrement to begin the loop again

Watch it run

MickyT
la source
1

Husk, 4 bytes, sum 334 (Husk SBCS)

up63

Output:

[3,7]

The value of a digit is given by 0x3? (where ? stands for that digit) and u,p,[,],, have values 0x75,0x70,0x5b,0x5d,0x2c - thus the sums are:

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

Try it online!

ბიმო
la source
1

JavaScript (ES6), 6 bytes, sum = 385 (ASCII)

Y=>1E7

Outputs 10000000. There are other 6 byte answers such as h=>1e8. Try this code point counter:

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

Neil
la source
1

cQuents, 5 bytes, sum 238 (ASCII)

#3::$

Outputs 1,2,3, or in cQuents terms, prints the first three terms of the sequence 1,2,3,4,5,6....

Now listen. This was, literally, the first program I tried. The reason I tried it was because this was the program I used for Output with the same length as code. And it freaking worked.

Try it online!

Stephen
la source
1

Gaia, 4 bytes, sum 176 (SBCS)

6 5%

Explanation

In Gaia's codepage, linefeed has a code point of x7F (127 in decimal). Printable ASCII characters have the same code point as in ASCII.

This computes 6 modulo 5, which is 1, and prints 1 with a trailing linefeed.

Byte values of the characters in the codepage (in decimal):

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

1: 49 + 127 (linefeed) = 176

Business Cat
la source
1

Trumpscript, 131 bytes, sum 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

Is this real life?

Check with this.

Thanks @MagicOctopusUrn for telling me that exists.

V. Courtois
la source