Soma de pontos de código quine


20

Todos os desafios do neste site estão focados na contagem de bytes ou nos próprios personagens. Este é diferente. Seu desafio é escrever um programa que produza saída com uma soma de pontos de código idêntica à soma de pontos de código da fonte.

Para produzir uma soma de pontos de código:

  1. Encontre os valores dos caracteres no conjunto de caracteres do programa.
    Por exemplo - FOOem ASCII: F= 70, O= 79, O= 79
  2. Adicione-os todos juntos.
    Soma de pontos do código FOOem ASCII: F+ O+ O= 70 + 79 + 79 = 228.

Um exemplo de um quine de soma ASCII seria se o código-fonte fosse ABCe a saída fosse !!!!!!. Isso ocorre porque a soma dos valores ASCII da fonte ( A= 65, B= 66, C= 67, soma = 198) é a mesma que a soma dos valores ASCII na saída ( != 33, 33 * 6 = 198) . BBBtambém seria uma saída válida, como seria cc.

Regras

  • Seu programa não deve ser um inverso, aleatório, erro ou qualquer outro tipo de quine "verdadeiro". Para elaborar: Se a saída contiver todos os mesmos caracteres que a origem, ela será inválida.
  • Seu programa não pode usar nenhum erro / aviso do compilador / intérprete como saída.
  • A fonte do seu programa deve usar a mesma página de código que a saída.
  • Seu programa pode usar qualquer página de código criada antes desse desafio.
  • A saída do seu programa não deve conter caracteres imprimíveis (por exemplo, ASCII 0 a 31 ou acima de 127), além de alimentações de linha e guias.
  • Aplicam-se brechas padrão.
  • Se a fonte e / ou a saída tiver um avanço de linha à direita, ele deverá ser incluído na soma do ponto de código.
  • Os sinalizadores do compilador precisam ser incluídos na contagem final de bytes (pontuação), mas não na soma dos pontos de código da fonte.
  • A saída / fonte pode não estar vazia.

Pontuação

A resposta mais curta na contagem de bytes (não na soma dos pontos de código) vence. Por favor, use as respostas deste formato de cabeçalho:

# Jelly, 12 bytes, sum 56 (SBCS)

Você pode usar esta ferramenta para calcular somas ASCII.

Referência

Aqui estão algumas referências úteis da página de códigos.


Comentários são permitidos?
precisa

@ musicman523 sim, acho que sim.
MD XF

Por que não permitir avisos? Eu sinto que é desnecessário.
Conor O'Brien

1
@ ConorO'Brien Os avisos não podem ser a saída do programa, por exemplo, nenhum erro de erro. Eu acho que isso não está claro, um minuto.
MD XF

Qual é a política sobre bandeiras?
Okx 25/07/19

Respostas:


24

Retina , 1 byte, soma = 58 (ASCII)

:

Isso conta as correspondências de :na entrada ( 0 ), para que imprima

0

Os pontos de código de :, 0e LF (avanço de linha) são 58 , 48 e 10 (respectivamente) e 58 = 48 + 10 .

Experimente online!


14

ArnoldC, 316 bytes, soma 20992 (ASCII)

Divertido o suficiente.

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

Eu usei isso e isso para fazer meus cálculos. Levei uma hora e meia. Mas divertido.

Experimente Online!

Como funciona

STICK AROUNDé um loop, que faz loop dos 2048tempos no índice iaV, mas esse índice passa por 8. Portanto, existem 256loops, impressão He avanço de linha (72 + 10 = 82, 82 * 256 = 20992).

Isso ainda é ALTAMENTE jogável (encontrando outros cálculos), mas é longo e chato medir sua soma de bytes toda vez que você faz uma modificação.

Por favor, me diga se estou enganado em algum lugar.


1
A melhor resposta do ArnoldC que eu já vi.
Magic Octopus Urn

1
@MagicOctopusUrn, obrigado xD, é a minha primeira tentativa neste idioma (¿¿??!?!? Ainda não tenho certeza se é um)
V. Courtois

github.com/samshadwell/TrumpScript é outra "linguagem" inútil se você deseja imitar o presidente dos EUA.
Urna de polvo mágico

@MagicOctopusUrn bem, eu estou fazendo esse desafio no trumpscript então.
V. Courtois

1
Então, descobri que o ArnoldC suporta saída unicode e raspei 2 bytes adicionais. Eu o publiquei separadamente (com reconhecimento)
TemporalWolf


8

Python 2, 11 bytes, soma 838 (ASCII)

print 76**8

impressões

1113034787454976

Não é muito inteligente, mas funciona

Experimente online!


Ótima primeira resposta; bem vindo ao site! Posso verificar se a soma ASCII está correta .
MD XF

Este é um polygot, também funciona no Groovy, muito impressionante.
Urna Mágica do Polvo

2
Ótima resposta, mas a saída não possui um avanço de linha à direita que deve ser adicionado?
Reintegrar Monica

Isso também funciona em Ruby
Alexis Andersen

7

Gelatina, 12 bytes, soma 948 (SBCS)

Você disse:

Gelatina, 12 bytes

então é Jelly, 12 bytes.

\
³³³,: D +++

Foi divertido, já que eu não conheço Jelly.

Como funciona

Eu não tenho nenhuma ideia. Mas ³coloca 100 na pilha, ,coloca a pilha em uma matriz ou algo assim, :pode concatenar a coisa enquanto Dlista todas as letras do último número (que não existe), e +++ são divertidas. A primeira e a última linha não afetam a saída :)

Experimente Online!

Usou isso para contar.


4
"Eu sei o que ³e o que Dfaz, mas não me pergunte à WTF que qualquer outra coisa faz." - Esse também seria meu artigo se eu respondesse a Jelly.
Urna Mágica do Polvo

6

CJam / Japt / bc, 2 bytes, soma 97 (ASCII)

A

Experimente Online (CJam), Experimente Online (Japt) (obrigado @shaggy),

A versão bc funciona na linha de comando, mas não no TIO.

Saídas 10

Fonte: A+ Space= 65 + 32 = 97

Saída: 1+ 0 = 49 + 48 = 97


Isso também funciona em Japt.
Shaggy

Eu não acho que isso funciona em bc. Todas as versões que eu conheço insistem em uma nova linha à direita.
Dennis

@Dennis Acabei de executar o bcprograma e digitei A . Devo chamá-lo de bc REPL?
geokavel


5

Cubicamente , 4 bytes, soma 141 (ASCII)

%44E

Saídas 3636. Experimente online! E aqui está o verificador de soma ASCII eu usei.

Explicação:

  • % significa 'imprimir soma da face como número inteiro'.
  • 4 imprime a soma de todos os valores na face BACK (36) duas vezes.
  • E é um no-op, usado apenas para obter a soma necessária.

hahaha, leve meu voto positivo
Giuseppe

5

Algumas dessas respostas contêm caracteres que provavelmente serão invisíveis para você (principalmente o ASCII 17), clique nos links TIO para ver seu posicionamento.

Klein 100/110, 4 bytes, soma 147

1
@

Experimente online!

Resultado:

1 1

Klein 201, 4 bytes, soma 147

1
@

Experimente online!

Resultado:

1 1

Klein (qualquer topologia), 5 bytes, soma 221 (ASCII)

111@

Experimente online!

Isso imprime

1 1 1


Um agradecimento a quem acabou de votar isso do nada. Você me fez dar uma segunda olhada nisso e agora eu melhorei um pouco.
Wheat Wizard

@JoKing Eu diria postar isso como sua própria resposta. É bastante inteligente e é mais do que apenas uma melhoria no que eu fiz.
Wheat Wizard

4

Java 7, 88 bytes de 85, soma 7808 7617 7507 (ASCII)

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

Quase certamente jogável. É muito fácil ajustar, pois temos algumas variáveis ​​extras, como o nome da classe e o nome do parâmetro de argumentos do programa, que podemos alterar livremente.

Teste online!

Experimente online!


Java 8, 84 bytes, soma 7434

O crédito é para Kevin Cruijssen .

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

Teste online!

Experimente online!


Bom trabalho, posso verificar se funciona aqui . +1, mas estou sem votos.
MD XF

Convertendo-o para Java 8, você pode usar isto: interface A{static void main(String[]G){for(int A=59;A-->0;)System.out.print("~");}}para jogar golfe em 4 bytes e reduzi-lo para 7434 como soma. Experimente aqui. e Verifique a soma resultante.
Kevin Cruijssen 27/09/17

1
@KevinCruijssen Gostaria de manter minha resposta no Java 7, mas adicionei sua solução Java 8 à minha resposta e creditei a você. Se você preferir se publicar, posso remover sua resposta da minha.
Poke

3

Python 2 , 11 bytes, soma de bytes 854 (ASCII)

Código (com nova linha à direita):

print'z'*7

Saída (com nova linha à direita):

zzzzzzz

Experimente online!


por que a seção <code> não funciona? Quero dizer, posso ver a nova linha à direita na visualização quando edito sua postagem, mas não podemos vê-la na postagem.
V. Courtois 26/07

@ V.Courtois Diferenças no navegador (por exemplo, funciona no Firefox, não funciona no Chrome). Por isso, expliquei explicitamente a nova linha.
Anders Kaseorg

ok, parece que é algo que terei que fazer a seguir. Mas por que a segunda seção reage bem então? : o
V. Courtois


3

V , 2 bytes, Soma 255 (latino1)

á

Experimente online!

Hexdump:

00000000: 1ee1                                     ..

O primeiro caractere é ctrl-^, ou ponto de código LATIN1 / ASCII 0x1E. O segundo caractere é alt-aou o caractere LATIN1 0xE1. Este programa gera ÿ, que está 0xFFem LATIN1.

Como funciona?

O primeiro caractere é no-op. Não tem nenhum efeito sobre o programa. O segundo caractere é o comando de acréscimo de um caractere . Mas não especificamos qual caractere acrescentar. Portanto, devido a terminações implícitas , ele anexa o caractere que V usa para sinalizar que o programa acabou, o que acontece com isso 0xFF.


Soma e página de código?
MD XF

@MDXF Está tudo na minha explicação ...
DJMcMayhem

3

05AB1E , 5 bytes, soma 256 (conversão 05AB1E Base-255)

ΔTnon

Experimente online!


Isso gera: 1606938044258990275541962092341162602522202993782792835301376

Que, usando a página de códigos do 05AB1E, resulta em: [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]

Qual é: 256


Onde o código é: ΔTnon

Com pontos de código: [79, 29, 49, 50, 49]

Qual é: 256


Que página de código é essa? Este lista 1como 49 , não 1 .
Dennis

@ Dennis Eu fui com o que 05AB1E retornou para a função base(char, 255), eu assumi (aparentemente incorretamente) que eles seriam o mesmo.
Magic Octopus Urn

3

Táxi , 543 bytes, soma 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]

Experimente online! ( Verificação de pontuação )

A saída é 374 tildes ~.


3

Mathematica, 2 bytes, soma = 101 (ASCII)

E + O espaço retorna e

E 

Mathematica, 2 bytes, soma = 105 (ASCII)

funciona para eu também

I + O espaço retorna i

I 


2

Flak cerebral (Flak de chuva) , 79 bytes

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

Experimente online!

Isso imprime 16e uma nova linha 31 vezes.

Brain-Flak (BrainHack) , 55 bytes

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

Experimente online!

Isso imprime 16e um espaço 18 vezes.

Também 55 bytes

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

Experimente online!

Isso imprime 12seguido por um espaço 19 vezes.


Soma e página de código?
MD XF

@MDXF Não recordo as somas, mas são todas ascii.
Assistente de trigo

O segundo e o terceiro não parecem corretos (eles imprimem 19 e 20 vezes a sequência mencionada), embora você possa consertar os dois, veja aqui .
25/07/19


2

Cubix , 20 bytes, soma do ponto de código 1505

OuOOQ++OOOOU@>!OOO<

Contém o caractere não imprimível DEL(ascii 127).

Qempurra "(a maior constante disponível no cubix) e depois imprime repetidamente ( O) 68ou 102tempo suficiente para chegar a 686868686868681021021021021021505; através de algumas tentativas e erros, percebi que precisava de mais 81 pontos do que .(um Cubix no-op e ASCII46 ), o que resultou em necessidade DEL, o que ainda é um no-op no Cubix.

Experimente online!

Em um cubo:

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

1
Eu vi "Cubix" e li " Cubically ", tive que me segurar antes de lhe dar uma recompensa ... suspiro +1
MD XF

@MDXF desafio aceito
Giuseppe


2

dc, 7 bytes, soma 720 (ASCII)

[my]fff

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

Saídas:

my
my
my

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


2

Cenoura , 4 bytes, soma = 279 (ASCII)

]^*2

Experimente online!

Imprime ]]].


Muito à minha frente neste. Eu não estava nem perto de conseguir uma soma correta.
TheLethalCoder

@TheLethalCoder A soma de ASCII ^*3era 187, então tentei resolver x+187=4x, mas isso resultou em nenhuma solução inteira. Então eu continuei ^*2, o que me 186+x=3xdeu xcomo 93ponto de código ]. Foi tudo o que fiz :)
Kritixi Lithos

Ah maneira inteligente de fazê-lo :)
TheLethalCoder

Presumo que isso ¹^*1também funcione. Se eu fiz minhas contas corretamente, é isso. Embora esse seja o valor unicode, não utf8.
TheLethalCoder

@TheLethalCoder Suponho que depende da codificação, porque o Carrot usa ASCII por padrão.
Kritixi Lithos

2

Cubicamente , 3 bytes, soma = 105 (ASCII)

%4

O terceiro byte é DLE , que possui o ponto de código 16 , portanto, a soma do código de código-fonte é
37 + 52 + 16 = 105 .

O programa imprime

36

cuja soma do ponto de código é 51 + 54 = 105 .

Experimente online!


* implementa o DLE * Desculpe, inválido. : P +1
MD XF

Não vi outra solução Cubically aqui. Ops!
TehPers

2

Cubix , 11 bytes, soma de bytes 954 (ASCII)

Código:

vOw~N(!@O^|

Resultado:

998877665544332211

Verificado aqui!

Experimente online!

Cubificado:

    v O
    w ~
N ( ! @ O ^ | .
. . . . . . . .
    . .
    . .
  • N inicializa a pilha com 10
  • (! decremento e teste de verdade
    • @ com parada zero
  • O^O número atual de saída redirecionado para a face superior e saída novamente
  • vwredirecione de volta ao (decremento para iniciar o loop novamente

Assista correr


1

Husk , 4 bytes, soma 334 ( Husk SBCS )

up63

Resultado:

[3,7]

O valor de um dígito é dada por 0x3?(onde ?está para que dígitos) e u, p, [, ], ,têm valores 0x75, 0x70, 0x5b, 0x5d, 0x2c- assim, as somas são:

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

Experimente online!


1

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

Y=>1E7

Saídas 10000000. Existem outras respostas de 6 bytes, como h=>1e8. Experimente este contador de pontos de código:

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



1

Gaia , 4 bytes, soma 176 ( SBCS )

6 5%

Explicação

Na página de código de Gaia, o avanço de linha tem um ponto de código de x7F (127 em decimal). Caracteres ASCII imprimíveis têm o mesmo ponto de código que em ASCII.

Isso calcula 6 módulos 5, que é 1, e imprime 1com um avanço de linha à direita.

Valores de bytes dos caracteres na página de códigos (em decimal):

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

1: 49 + 127 (avanço de linha) = 176


1

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

É isso vida real?

Verificar com isso .

Obrigado @MagicOctopusUrn por me dizer que existe.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.