Somma del punto di codice quine


20

Tutte le sfide su questo sito sono focalizzate sul conteggio dei byte o sui personaggi stessi. Questo è diverso. La tua sfida è scrivere un programma che produca output che abbia una somma di punti di codice identica alla somma di punti di codice della sorgente.

Per produrre una somma di punti di codice:

  1. Trova i valori dei caratteri nel set di caratteri del programma.
    Ad esempio - FOOin ASCII: F= 70, O= 79, O= 79
  2. Aggiungili tutti insieme.
    Somma dei punti di codice FOOin ASCII: F+ O+ O= 70 + 79 + 79 = 228.

Un esempio di somma quinta ASCII sarebbe se il codice sorgente fosse ABCe l'output fosse !!!!!!. Questo perché la somma dei valori ASCII della sorgente ( A= 65, B= 66, C= 67, somma = 198) è uguale alla somma dei valori ASCII nell'output ( != 33, 33 * 6 = 198) . BBBsarebbe anche un output valido, come sarebbe cc.

Regole

  • Il programma non deve essere un inverso, mischiato, errore o qualsiasi altro tipo di quine "vero". Per elaborare: Se l'output contiene tutti gli stessi caratteri della sorgente, non è valido.
  • Il tuo programma non può utilizzare alcun errore / avviso dal compilatore / interprete come output.
  • La sorgente del programma deve utilizzare la stessa tabella codici dell'output.
  • Il tuo programma può usare qualsiasi codepage creata prima di questa sfida.
  • L'output del tuo programma non deve contenere caratteri non stampabili (es. ASCII da 0 a 31 o superiori a 127) a parte gli avanzamenti di riga e le schede.
  • Si applicano scappatoie standard.
  • Se l'origine e / o l'output ha un avanzamento riga finale, deve essere incluso nella somma dei punti di codice.
  • I flag del compilatore devono essere inclusi nel conteggio byte finale (punteggio), ma non nella somma dei punti del codice sorgente.
  • L'uscita / sorgente potrebbe non essere vuota.

punteggio

Vince la risposta più breve nel conteggio dei byte (non nella somma dei punti di codice). Utilizzare le risposte di questo formato di intestazione:

# Jelly, 12 bytes, sum 56 (SBCS)

È possibile utilizzare questo strumento per calcolare le somme ASCII.

Riferimento

Ecco alcuni utili riferimenti alla tabella codici.


Sono ammessi commenti?
musicman523

@ musicman523 sì, credo di si.
MD XF,

Perché non consentire gli avvisi? Sento che non è necessario.
Conor O'Brien,

1
@ ConorO'Brien Gli avvisi non possono essere l'output del programma, ad es. Nessun errore si verifica. Immagino sia poco chiaro, un minuto.
MD XF,

Qual è la politica sulle bandiere?
Okx,

Risposte:


24

Retina , 1 byte, somma = 58 (ASCII)

:

Questo conta le corrispondenze di :nell'input ( 0 ), quindi stampa

0

I punti di codice di :, 0e LF (avanzamento riga) sono 58 , 48 e 10 (rispettivamente) e 58 = 48 + 10 .

Provalo online!


14

ArnoldC, 316 byte, somma 20992 (ASCII)

Abbastanza divertente.

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

Ho usato questo e questo per fare i miei calcoli. Mi ci sono voluti un'ora e mezza. Ma divertente.

Provalo online!

Come funziona

STICK AROUNDè un ciclo, che esegue 2048il ciclo dei tempi sull'indice iaV, ma questo indice passa 8. Quindi ci sono 256anelli, stampa He un avanzamento riga (72 + 10 = 82, 82 * 256 = 20992).

Questo è ancora ALTAMENTE golfable (trovando altri calcs), ma è lungo e noioso per misurare la somma di byte ogni volta che fate una modifica.

Per favore dimmi se sbaglio da qualche parte.


1
La migliore risposta di ArnoldC che abbia mai visto.
Magic Octopus Urn il

1
@MagicOctopusUrn grazie xD è il mio primo tentativo su questa lingua (¿¿??!?!? Non sono ancora sicuro che sia uno)
V. Courtois,

github.com/samshadwell/TrumpScript è un altro "linguaggio" inutile se si desidera emulare il presidente degli Stati Uniti.
Magic Octopus Urn il

@MagicOctopusUrn bene, sto facendo questa sfida in trumpcript allora.
V. Courtois,

1
Così ho scoperto che ArnoldC supporta l'output Unicode e ho eliminato altri 2 byte. L'ho pubblicato separatamente (con riconoscimento)
TemporalWolf il


8

Python 2, 11 byte, somma 838 (ASCII)

print 76**8

stampe

1113034787454976

Non molto intelligente ma funziona

Provalo online!


Ottima prima risposta; benvenuti nel sito! Posso verificare che la somma ASCII sia corretta .
MD XF,

Questo è un poligono, funziona anche in Groovy, molto impressionante.
Magic Octopus Urn il

2
Ottima risposta, ma l'output non ha un avanzamento riga finale che deve essere aggiunto?
Ripristina Monica il

Questo funziona anche in rubino
Alexis Andersen il

7

Gelatina, 12 byte, somma 948 (SBCS)

Tu hai detto:

Gelatina, 12 byte

allora è Jelly, 12 byte.

\
³³³,: D +++

È stato divertente, dal momento che non conosco affatto Jelly.

Come funziona

Non ne ho idea Ma ³mette 100 nello stack, ,mette lo stack in un array o qualcosa del genere, :potrebbe concatenare la cosa mentre Delenca tutte le lettere dell'ultimo numero (che non esiste) e +++ sono per divertimento. La prima e l'ultima riga non influiscono sull'output :)

Provalo online!

Usato questo a contare.


4
"So cosa ³e cosa Dfa, ma non chiedermi WTF nient'altro." - Questo sarebbe anche il mio commento se avessi una risposta Jelly.
Magic Octopus Urn,

6

CJam / Japt / bc, 2 byte, somma 97 (ASCII)

A

Provalo online (CJam), Provalo online (Japt) (grazie @shaggy),

La versione bc funziona sulla riga di comando, ma non su TIO.

Uscite 10

Fonte: A+ Space= 65 + 32 = 97

Uscita: 1+ 0 = 49 + 48 = 97


Questo funziona anche in Japt.
Shaggy,

Non penso che questo funzioni in bc. Tutte le versioni che conosco insistono su una nuova riga finale.
Dennis,

@Dennis Ho appena eseguito il bcprogramma e poi ho digitato A . Dovrei chiamarlo bc REPL?
geokavel,



5

Alcune di queste risposte contengono caratteri che probabilmente ti saranno invisibili (in particolare ASCII 17), fai clic sui link TIO per vedere il loro posizionamento.

Klein 100/110, 4 byte, somma 147

1
@

Provalo online!

Produzione:

1 1

Klein 201, 4 byte, somma 147

1
@

Provalo online!

Produzione:

1 1

Klein (qualsiasi topologia), 5 byte, somma 221 (ASCII)

111@

Provalo online!

Questo stampa

1 1 1


Un ringraziamento a chiunque abbia appena votato fuori dal nulla. Mi hai fatto dare una seconda occhiata a questo e ora l'ho migliorato un po '.
Wheat Wizard

@JoKing Direi di postarlo come risposta personale. È abbastanza intelligente ed è più di un semplice miglioramento di quello che ho fatto.
Wheat Wizard

4

Java 7, 88 85 byte, somma 7808 7617 7507 (ASCII)

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

Quasi certamente golfable. È abbastanza facile da modificare poiché abbiamo alcune variabili di riserva come il nome della classe e il nome del parametro degli argomenti del programma che possiamo cambiare liberamente.

Provalo online!

Provalo online!


Java 8, 84 byte, somma 7434

Il merito va a Kevin Cruijssen .

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

Provalo online!

Provalo online!


Ottimo lavoro, posso verificare che funzioni qui . Farebbe +1 ma non ho voti.
MD XF,

Convertendolo in Java 8 puoi usarlo: interface A{static void main(String[]G){for(int A=59;A-->0;)System.out.print("~");}}per golfarlo di 4 byte e abbassarlo a 7434 come somma. Provalo qui. e verifica la somma risultante.
Kevin Cruijssen,

1
@KevinCruijssen Vorrei mantenere la mia risposta in Java 7 ma ho aggiunto la tua soluzione Java 8 alla mia risposta e ti ho accreditato. Se preferisci pubblicare te stesso, posso rimuovere la tua risposta dalla mia.
Colpisci il

3

Python 2 , 11 byte, somma byte 854 (ASCII)

Codice (con la nuova riga finale):

print'z'*7

Output (con newline finale):

zzzzzzz

Provalo online!


perché la sezione <code> non funziona? Voglio dire, posso vedere la nuova riga finale in anteprima quando modifico il tuo post, ma non possiamo vederlo sul post.
V. Courtois,

@ V.Courtois Differenze del browser (ad esempio, funziona in Firefox, non funziona in Chrome). Ecco perché ho esplicitamente sottolineato la nuova riga.
Anders Kaseorg,

ok, sembra che dovrò fare qualcosa dopo. Ma allora perché la seconda sezione reagisce bene? : o
V. Courtois,


3

V , 2 byte, Somma 255 (Latino1)

á

Provalo online!

hexdump:

00000000: 1ee1                                     ..

Il primo carattere è ctrl-^o punto di codice LATIN1 / ASCII 0x1E. Il secondo carattere è alt-ao il carattere LATIN1 0xE1. Questo programma emette ÿ, che è 0xFFin LATIN1.

Come funziona?

Il primo personaggio è vietato. Non ha alcun effetto sul programma. Il secondo carattere è il comando Aggiungi carattere singolo . Ma non specifichiamo quale personaggio aggiungere. Quindi, a causa di finali impliciti , aggiunge il carattere che V usa per segnalare che il programma è finito, cosa che succede 0xFF.


Somma e tabella codici?
MD XF,

@MDXF Questo è tutto nella mia spiegazione ...
DJMcMayhem

3

05AB1E , 5 byte, somma 256 (traduzione 05AB1E Base-255)

ΔTnon

Provalo online!


Questo produce: 1606938044258990275541962092341162602522202993782792835301376

Che, usando la tabella codici 05AB1E, risulta in: [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]

Che è: 256


Dove si trova il codice: ΔTnon

Con punti di codice: [79, 29, 49, 50, 49]

Che è: 256


Quale code page è questa? Questo elenca 1come 49 , non 1 .
Dennis,

@Dennis Sono andato con qualsiasi 05AB1E restituito per la funzione base(char, 255), avevo ipotizzato (apparentemente in modo errato) che sarebbero stati la stessa cosa.
Magic Octopus Urn,

3

Taxi , 543 byte, somma 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]

Provalo online! ( Verifica punteggio )

L'output è di 374 tilde ~.


3

Mathematica, 2 byte, somma = 101 (ASCII)

E + Spazio restituisce e

E 

Mathematica, 2 byte, somma = 105 (ASCII)

funziona anche per me

I + Spazio restituisce i

I 


2

Brain-Flak (Rain-Flak) , 79 byte

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

Provalo online!

Questo stampa 16e una nuova riga 31 volte.

Brain-Flak (BrainHack) , 55 byte

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

Provalo online!

Questo stampa 16e uno spazio 18 volte.

Anche 55 byte

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

Provalo online!

Questa stampa è 12seguita da uno spazio 19 volte.


Somma e tabella codici?
MD XF,

@MDXF Non ricordo le somme ma sono tutte ascii.
Wheat Wizard

Il secondo e il terzo non sembrano corretti (stampano 19 e 20 volte la stringa menzionata), sebbene sia possibile correggerli entrambi, vedere qui .
ბიმო


2

Cubix , 20 byte, somma dei punti di codice 1505

OuOOQ++OOOOU@>!OOO<

Contiene il carattere non stampabile DEL(ascii 127).

Qpush "(la più grande costante disponibile in cubix), quindi stampa ripetutamente ( O) 68o 102abbastanza volte per arrivare a 686868686868681021021021021021505; attraverso alcune prove ed errori mi sono reso conto che avevo bisogno di 81 punti in più rispetto a .(un Cubix no-op e ASCII46 ) che mi ha reso necessario DEL, che è ancora un no-op in Cubix.

Provalo online!

Su un cubo:

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

1
Ho visto "Cubix" e letto " Cubicamente ", ho dovuto prendermi prima di darti una taglia ... sospiro +1
MD XF

Sfida @MDXF accettata
Giuseppe


2

dc, 7 byte, somma 720 (ASCII)

[my]fff

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

Uscite:

my
my
my

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


2

Carota , 4 byte, somma = 279 (ASCII)

]^*2

Provalo online!

Stampe ]]].


Molto più avanti di me in questo. Non ero vicino a ottenere una somma corretta.
TheLethalCoder il

@TheLethalCoder La somma ASCII ^*3era di 187, quindi ho provato a risolverlo x+187=4x, ma ciò non ha prodotto soluzioni intere. Quindi ho continuato ^*2, che mi ha 186+x=3xdato xcome 93, il punto di codice di ]. È stato tutto ciò che ho fatto :)
Kritixi Lithos il

Ah, un modo intelligente di farlo :)
TheLethalCoder

Presumo quindi che ¹^*1funzioni anche. Se ho fatto i miei calcoli in modo corretto, lo è. Anche se questo è il valore unicode non utf8.
TheLethalCoder il

@TheLethalCoder Suppongo che dipenda dalla codifica, perché Carrot usa ASCII per impostazione predefinita.
Kritixi Lithos,

2

Cubicamente , 3 byte, somma = 105 (ASCII)

%4

Il terzo byte è DLE , che ha il punto di codice 16 , quindi la somma dei punti di codice del codice sorgente è
37 + 52 + 16 = 105 .

Il programma stampa

36

la cui somma dei punti di codice è 51 + 54 = 105 .

Provalo online!


* implementa DLE * scusa, non valido. : P +1
MD XF,

Oh, non ho visto un'altra soluzione cubica qui. Ops!
TehPers,

2

Cubix , 11 byte, somma di byte 954 (ASCII)

Codice:

vOw~N(!@O^|

Produzione:

998877665544332211

Verificato qui!

Provalo online!

Cubified:

    v O
    w ~
N ( ! @ O ^ | .
. . . . . . . .
    . .
    . .
  • N inizializza lo stack con 10
  • (! decrementa e verifica la verità
    • @ a zero stop
  • O^O numero corrente in uscita reindirizza alla faccia superiore ed emette di nuovo
  • vwreindirizzare al (decremento per ricominciare il ciclo

Guarda correre


1

Husk , 4 byte, somma 334 ( Husk SBCS )

up63

Produzione:

[3,7]

Il valore di una cifra è data da 0x3?(in cui ?sta per quella cifra) e u, p, [, ], ,sono i valori 0x75, 0x70, 0x5b, 0x5d, 0x2c- così le somme sono:

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

Provalo online!


1

JavaScript (ES6), 6 byte, somma = 385 (ASCII)

Y=>1E7

Uscite 10000000. Ci sono altre risposte a 6 byte come h=>1e8. Prova questo contatore di punti di codice:

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


1

cQuents , 5 byte, somma 238 (ASCII)

#3::$

Gli output 1,2,3, o in termini di cQuents, stampano i primi tre termini della sequenza1,2,3,4,5,6... .

Ora ascolta. Questo è stato, letteralmente, il primo programma che ho provato. Il motivo per cui l'ho provato è perché questo era il programma che ho usato per Output con la stessa lunghezza del codice . E ha funzionato alla follia.

Provalo online!


1

Gaia , 4 byte, somma 176 ( SBCS )

6 5%

Spiegazione

Nella tabella codici di Gaia, l'alimentazione di riga ha un punto di codice di x7F (127 in decimale). I caratteri ASCII stampabili hanno lo stesso punto di codice di ASCII.

Questo calcola 6 modulo 5, che è 1, e stampa 1 con un avanzamento riga finale.

Valori byte dei caratteri nella tabella codici (in decimali):

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

1: 49 + 127 (avanzamento riga) = 176


1

Trumpcript, 131 byte, somma 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

Questa è vita vera?

Verifica con questo .

Grazie @MagicOctopusUrn per avermi detto che esiste.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.