"¡Hola, mundo!" (Hilo de policías)

16

Este es el hilo conductor de la policía. El hilo de los ladrones está aquí .

Su desafío es escribir un programa o función que, con cierta entrada, imprima la cadena exacta Hello, World!y una nueva línea. La capitalización, el espaciado y la puntuación deben ser exactos.

La entrada puede tomarse a través de una entrada estándar, un archivo o argumentos de línea de comando / función. La salida se puede proporcionar a través del valor de retorno, escribiendo en un archivo o salida estándar.

Su programa debe imprimir Hello, World!al menos una entrada. Cuando su programa recibe una entrada incorrecta (es decir, la entrada que no lo imprime Hello, World!), puede hacer lo que quiera: bloquearse, imprimir tonterías aleatorias, llamar a Chuck Norris, etc.

No puede utilizar un algoritmo de hash ni ningún método similar para ocultar la entrada requerida.

Se prefiere que las presentaciones sean ejecutables y crackeables en TIO . Se permiten envíos no ejecutables o crackeables en TIO, pero incluya instrucciones para descargarlos / ejecutarlos.

Después de una semana, este desafío se cerrará para futuras presentaciones de policías. El ganador es el código más corto que se descifra después de una semana de publicarlo ("es" el código, no este desafío). El ganador será aceptado después de dos semanas.

Después de que haya pasado una semana desde la publicación, marque su respuesta como segura y muestre la entrada (en a > ! spoiler quote). Si un ladrón rompe su envío (antes de que termine la semana), márquelo como agrietado y muestre la entrada de detención (en a > ! spoiler quote).

¿Está buscando presentaciones sin descifrar?

fetch("https://api.stackexchange.com/2.2/questions/137742/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!i.body_markdown.toLowerCase().includes("cracked")).map(x=>{const matched = /^ ?##? ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var td = document.createElement("td");var a = document.createElement("a");a.innerHTML = lang;a.href = link;td.appendChild(a);tr.appendChild(td);};add(ans.lang, ans.link);add(ans.owner.display_name, ans.owner.link);document.querySelector("tbody").appendChild(tr);});});
<html><body><h1>Uncracked Submissions</h1><table><thead><tr><th>Language</th><th>Author</th></tr></thead><tbody></tbody></table></body></html>

MD XF
fuente
Sin embargo, muy similar, no es un tonto.
Post Rock Garf Hunter
13
Como dije en el sandbox, siento que este es un duplicado de la pregunta de detención ya que cualquier respuesta allí podría publicarse aquí, pero con código para y bucle infinito reemplazado con código para imprimir hola mundo. Todavía no votaré porque martillaría, pero estoy bastante convencido de que esto es un engaño.
FryAmTheEggman
55
Obviamente sha3cae en esa categoría, pero de lo contrario, ¿dónde trazas la línea? Quiero decir mod 1e3que también es una función hash, e incluso iría tan lejos y argumentaría que muchas de las presentaciones serán funciones hash, ya que este desafío es básicamente pedirlo.
flawr
1
Según las respuestas que he visto en los últimos días, no apareció nada que me convenza de que esto no es un duplicado. Voy a cerrar el desafío de policía por ahora, y si la comunidad no está de acuerdo, se puede volver a abrir, y si la comunidad está de acuerdo, también pueden cerrar el hilo del ladrón.
FryAmTheEggman
1
@Dopapp esto ya se ha discutido, aquí (algunos comentarios eliminados) y en el chat. Las respuestas no se pueden copiar y pegar, ni portar muy fácilmente, de ese desafío a este, por lo que no son duplicados.
MD XF

Respuestas:

3

Python 3, 191 186 bytes (¡SEGURO!)

Igual que mi respuesta anterior, pero sin la declaración noob eval, de modo que alguien realmente tiene que resolver el problema que creé.

import sys
from numpy import *
e=enumerate
c='Hello, World!'
print(''.join([c[int(sum([c*cos(n*i)for i,c in e(fromiter(sys.argv[1:],float))])+.01)]for n in[2*i+ord(n)for i,n in e(c)]]))

ahora ejecútelo con los parámetros correctos, como python3 hw.py 1 2 3


Editar : a la versión anterior le faltaba una coma en "¡Hola, Mundo!", Y también me di cuenta de que tenía una enumeración innecesaria, que ahora se ha ido.


Edición 2 : Solo por diversión, aquí hay una versión de Pyth casi idéntica (47 bytes) del mismo código:

KEJ"Hello, World!"[email protected]*b.t*dk1K0.e+*2kCbJ

La entrada se toma stdiny tiene la forma de una lista de argumentos, como[1,2,3]

No veo ningún punto en publicar una respuesta por separado porque si descifras la versión Pthyon3, también descifras la versión Pyth, incluso sin conocer Pyth.


Responder:

python3 hw.py 10.72800138 13.23008796 19.30176276 16.13233012 18.10716041 0.98306644 8.18257475 19.20292132 10.99316856 -2.15745591 6.01351144 5.45443094 10.41260889

Explicación del código:

''.join()crea la cadena hello world a partir de una matriz de caracteres de la cadena "Hello, World!". El acertijo se resuelve cuando esas indicaciones lo son [0,1,2,3,4,5,6,7,8,9,10,11,12]. Cada índice se calcula a partir de una entrada y las constantes dadas en la línea de comando. Las entradas son una serie codificado: [2*i+ord(c) for i,c in enumerate('Hello, World!')]. La función que relaciona la entrada, las constantes y la salida (indicaciones) es esta:sum([c*cos(x*i) for i,c in enumerate(CONSTANTS)]) . Este es un problema clásico de modelado, en el que intenta ajustar los datos a su modelo.

Al llegar a la solución, en python:

from scipy import optimize
x = [2*i+ord(c) for i,c in eumerate('Hello, World!')]
y = [0,1,2,3,4,5,6,7,8,9,10,11,12].
# make your function: 13 terms means we can achieve 13 exact outputs
def f(x,a,b,c,d,e,f,g,h,i,j,k,l,m):
    return sum([c*cos(x*i) for i,c in enumerate([a,b,c,d,e,f,g,h,i,j,k,l,m])])
# curve fit
ans,_ = optimize.curve_fit(f,x,y)
# check answer
[round(f(a,*ans),0) for a in x] # should be 0-12

rexroni
fuente
2
En caso de que no lo supiera, literal_eval()en el astmódulo se puede utilizar para evaluar de forma segura las expresiones, de modo que el print(problema de inyección de código no funcione. Probablemente no sea relevante aquí, pero solo pensé en mencionarlo.
Esolanging Fruit
2
¿estás seguro de que esto puede imprimir Hello, World!? Todavía no se ha agrietado, pero parece que le falta una coma (solo 12 iteraciones en el bucle de unión)
Uriel
Oh, tienes razón, le falta una coma. Lo corregiré ahora.
rexroni
@ Challenger5 gracias, no lo sabía.
rexroni
12

TeX - 38 bytes agrietados (ish)

Vale la pena intentarlo, porque no puedo imaginar que alguien en un sitio sobre escribir piezas cortas de código conozca TeX:

\read16to\x\message{Hello, World!}\bye

Para ejecutarlo, debe obtener alguna forma de TeX que permita el modo interactivo. Guarde esto en un archivo y ejecute TeX (o pdfTeX, XeTeX, etc.) en él.

Editar: Actualmente estoy considerando esto semi-agrietado. La solución prevista usa la entrada de stdin, pero la entrada de TeXnically de la forma en que se invoca el programa es válida. Agregaré respuestas TeX más tortuosas si alguien obtiene el método deseado.

Aquí está la solución prevista:

^ C Ia - La primera clave es control-c, que causa un error. Luego, presiona I (i mayúscula) para ingresar un comando. Luego escribe a (o cualquier otra cosa que se componga). Normalmente, el mensaje que se imprimió en stdout iría seguido de un espacio y luego un ')'. Cuando escribe algo, hace que la información de la fuente se envíe después del mensaje. Eso significa que se lanza una nueva línea y el ')' se mueve más tarde.

Eso puede ser sencillo, pero aún debe estar dentro de las reglas del juego.

Un hombre de oro
fuente
Bienvenido a PPCG. Buena primera respuesta
Евгений Новиков
¿No sería suficiente usar tex \ Hello, world!\bye(23 bytes)?
Werner
@Werner que permitiría la entrada del usuario?
Un hombre de oro el
¿Esto realmente está destinado a ser descifrado? : o
Felix Palmen
3
texnicallyoh Dios mío.
MD XF
7

> <> , 538 bytes, descifrado por rexroni

v
\">/v>v\v</>"
/!?lp%*2di%*2di
a
v   "        "       "
   "l"      "o"  /  "e"
v   "        "     " "
      "   /       "l"/
v    "!"           "
 //   " " "      \
v     \"d"o"   " "    "
      " " "   "o"r"  "!"
v"   "H"       " "    "
"l"   ""
""    "r" "         "
    \  " "l"       "d"  "
v   "     "      "  "  "H"
   "e"         /","     "
v " " "     "  " "
 "e" "W"  /"d""l"
v " " "     "  "      "
   "H"               "!"
v   "                 "
                        v
>>"Hello world?"       >o<
                        ^

Pruébelo en línea , o puede usar el área de juegos para peces .

Las primeras tres líneas se leen en una cadena de STDIN y usan sus códigos de charla 26 como coordenadas para colocar los caracteres " >/v>v\v</>" en el laberinto de abajo. La solución prevista es una cadena de 20 caracteres compuesta únicamente por las letras de la A a la Z (aunque, por supuesto, puede usar lo que desee).

Solución:

La entrada prevista es OCEANICWHITETIPSHARK (¡es un pez!). El camino a través del laberinto se ve así:

v
\">/v>v\v</>"
/!?lp%*2di%*2di
a                |  |
v   "        "   |  |"
| v"l"______"o"__/  "e"
v | "        "     " "
| |   "   /       "l"/
v |  "!"           "|
|//   " " "    v_\  |
v|    \"d"o"   " "  | "
||    " " "   "o"r" |"!"
v"   "H"       " "  | "
"l"___""_______ _/__/_____
""    "r" "    | |  "
|>__\  " "l"   | | "d"  "
v   "     "    | "  "  "H"
|  "e"v________/"," |   "
v " " "     "  " "  |
|"e"|"W"  /"d""l"|  |
v " " "     "  " |  | "
<  "H">__________ __\"!"__
v   "            |  | "
    >____________ __ ___v
>>"Hello world?" |  |  >o<
                 |  |   ^

No un arbol
fuente
¡Agrietado! Me llevó para siempre
rexroni
3
Oye, sospeché que la respuesta podría ser una palabra, pero no intenté descifrarla. Estoy aún más impresionado.
rexroni
6

Octava, 59 bytes, agrietada

Esto funciona en Octave 4.2.0. No puedo garantizar la compatibilidad con todas las versiones.

i=input('');printf('%c',i*~all(isequal(i,'Hello, World!')))

Nota: Esto no imprime espacios finales ni líneas nuevas. Esto es lo que parece:

ingrese la descripción de la imagen aquí

Básicamente dice: "Imprime la cadena de entrada, a menos que la entrada sea 'Hello, World!', En cuyo caso no debería imprimir nada (o el carácter nulo).

Stewie Griffin
fuente
No estoy seguro si %csignifica cadena o char ... ¿tal vez estás ocultando algo? También *~eso me hace sospechar un poco ...
Erik the Outgolfer
No estoy seguro, pero ¿ roto ?
ბიმო
@BruceForte imprime un byte nulo al final de la salida, no estoy seguro de que sea válido ... enlace
MD XF
1
Estoy bastante seguro de que la solución prevista es este tipo de cosas.
Jonathan Allan
1
@BruceForte, no. allí no estaba \n. Pensé que el texto de la pregunta decía " nueva línea final opcional ".
Stewie Griffin
5

CJam , 7 bytes ( agrietado )

q5/:i:c

Pruébalo en línea!

Entrada prevista:

65608656376564465644656476558065568656236564765650656446563665569

Erik el Outgolfer
fuente
Agrietado
Jonathan Allan
@JonathanAllan Darn! Sin embargo, esa no fue la entrada prevista.
Erik the Outgolfer
5

MATL , 6 bytes. Agrietado

tsZp?x

Pruébalo en línea!

Luis Mendo
fuente
Agrietado , pero si esta no es la solución prevista, se siente un poco como hacer trampa.
Dennis
@Dennis La solución prevista era ['Hello,' 1 'World!']. ¿Por qué hacer trampa? :-( El documento / ayuda para Ddice La mayoría de los caracteres de entrada por debajo de 32 son reemplazados por espacio
Luis Mendo
Me refería a hacer trampa de mi parte, convirtiendo una nueva línea LF en una nueva línea CR + LF.
Dennis
@ Dennis Ah, ya veo. Bueno, creo que también es perfectamente válido
Luis Mendo el
5

Explotar , 23 bytes, agrietado

@_?&4_-j>5&f^~c>&6\|4>7

Más por venir, esto es solo el comienzo> :)

Pruébalo en línea!

Explicación del explorador

Hay cuatro exploradores en este programa. No estoy completamente seguro de que wait ( >) funcione correctamente.

@_?

Lea la entrada del usuario ( ?), escriba y extienda la cinta ( @) hacia abajo ( _).

&4_-j>5

Para 4 ticks ( 4), modifique la cinta ( &) hacia abajo ( _), saltando 5 ( 5), restando ( -) 19 ( j).

&f^~c>

Para 16 ticks ( f), modifique la cinta ( &) hacia arriba ( ^) en una onda ( ~), alternando sin efecto, +13, sin efecto y -13 ( c).

&6\|4>7

Para 6 ticks ( 6), modifique la cinta (& ) en ambas direcciones ( |), disminuyendo ( \) en 4 ( 4) cada vez y saltando en 7 ( 7). Disminuir significa que resta 4 la primera vez, 8 la segunda vez, etc.

Stephen
fuente
3
Agrietado pero no dude en dar una explicación de lo que sucede :)
Jonathan Allan
Explicación de @JonathanAllan agregada, perdón por haber tardado tanto
Stephen
5

JavaScript (ES6), 173 169 163 150 151 148 143 bytes ( Agrietado )

Tengamos algo totalmente diferente ... y totalmente malvado .

const e=eval,p=''.split,c=''.slice,v=[].every,f=s=>(t=c.call(s),typeof s=='string'&&t.length<81&&v.call(p.call(t,`\n`),l=>l.length<3)&&e(t)(t))

Uso: f(something) // returns 'Hello, World!'

Pruébalo en línea!

Voile
fuente
Continuemos esta discusión en el chat .
Евгений Новиков
Agrietado
DanTheMan
¡Agradable! Esa es una verdadera grieta.
Voile el
Esto fue realmente difícil de descifrar. ¡Buen trabajo!
DanTheMan
Está tomado directamente de uno de los rompecabezas que he creado en otro lugar :) (Dejaré que la gente descubra dónde publiqué el rompecabezas original.)
Voile el
4

C # (.NET Core) , 130 152 bytes, AGRIETADA

+22 bytes, me olvidé de seguir la nueva línea ... El programa funciona igual que antes, la nueva línea se agrega a cualquier salida.

a=>a.Distinct().Select((x,y)=>a.Reverse().Skip(y).First()*x%255).Take(a.First()-33).Concat(new int[]{10}).Select(x=>(char)x).ToArray()

Pruébalo en línea!

El recuento de bytes también incluye

using System.Linq;

Para empezar, fui por algo no demasiado loco. Puede tener múltiples respuestas.

El crack "oficial":

. ! $ 0%> 5 y 8 '#?) S * TuE [MRX` + 9

Grzegorz Puławski
fuente
2
Agrietado
Kamil Drakari
4

tcc, 89 bytes, descifrado por Dennis

#!/usr/bin/tcc -run
#include <stdio.h>

int main()
{
    puts("\n");
}
#include "/dev/stdin"

Esto es particularmente malo debido a la resolución dinámica de tcc. Muchas funciones están predeclaradas e intentar sobrescribirlas simplemente no funciona.

Joshua
fuente
¿Podrías crear un enlace TIO que funcione para que la gente juegue? ( sin duda, esto está incompleto, tal vez necesite indicadores del compilador o algo así, no tengo idea) TBH, ni siquiera sé cómo se supone que esto debe tomar información ...
Jonathan Allan
El tcc de Tio no va a funcionar. No se entiende que esto deba usarse como tcc -run en lugar de una fase separada de compilación y enlace.
Joshua
Tal vez sea ejecutable a través de un shell a través de allí, bash está disponible (aunque sé muy poco sobre tcc o bash). De lo contrario, creo que debería dar algunas instrucciones detalladas para que la gente se ponga en marcha (a menos que mi falta personal de conocimiento sea el problema aquí, como dije, ni siquiera sé cómo su código recibe información, todo lo que veo es un putsy pensé que salidas.)
Jonathan Allan
Casi tengo una grieta pero estoy en el móvil y estoy mprotectsiendo un trasero.
MD XF
agrietado
Dennis
4

brainfuck , 7 bytes agrietados

,+[.,+]

Pruébalo en línea!

Buena suerte. (no funciona con todos los intérpretes BF

Christopher
fuente
¿Su entrada funciona con algún intérprete BF, incluidos los que tienen diferentes longitudes de cinta? ¿Su aportación funciona localmente y no solo en TIO?
Stephen
@StepHen cualquier longitud de tipo afaik
Christopher
agrietado
rexroni
1
¿Su solución prevista funciona en TIO?
Totalmente humano el
@totallyhuman gracias, editó el comentario para que se vea profesional. No sé cómo poner entradas no imprimibles en TIO. Pasé la entrada en stdin de un programa en C con una sola declaración printf.
rexroni
3

JavaScript (ES6), 102 bytes ( Agrietado )

La versión anterior tiene un queso masivo. Intentemos esto de nuevo ...

f=s=>{let r='',i=0;while(i<13)r+=!s[i][0]||s[i]=='Hello, World!'[i]||s[i++];return r};Object.freeze(f)

Pruébalo en línea!

Solución del autor:

Proxy nuevo ({v: Array (13) .fill (0)}, {get: (o, p) => ['a', '', 'Hello, World!' [p]] [ov [p] ++]})

Uso:

var p = nuevo Proxy ({v: Array (13) .fill (0)}, {get: (o, p) => ['a', '', 'Hello, World!' [p]] [ov [p] ++]}) console.log (f (p))

Voile
fuente
Agrietado
Birjolaxew
3

Cúbicamente , 159 bytes ( agrietado )

+53$!7@6:2/1+551$?7@6:5+52$!7@66:3/1+552$?7@6:5+3/1+4$!7@6:5/1+3$?7@6:5+1/1+54$!7@6:3/1+552$?7@6:5+1/1+552$?7@6:5+52$!7@6:1/1+551$?7@6:5+1/1+3$!7@6:1/1+1$(@6)7

Esto será bastante fácil para aquellos que se sienten cómodos con Cubically. Pruébalo en línea!

MD XF
fuente
1
¿Alguien se siente cómodo con Cubically? : P
totalmente humano
@totallyhuman El lenguaje es bastante simple una vez que te acostumbras, ¡y es divertido de usar!
TehPers
@totallyhuman Parece que no hay instrucciones de giro, por lo que esto parece ser solo matemática con múltiplos de 9. Matemáticas muy complicadas.
Robert Fraser
¿Agrietado? Creo que obtuve la entrada prevista, pero no funciona del todo, pero estoy bastante seguro de que falla debido a un error del intérprete. Ver mi explicación en crack post. Si estoy en lo cierto, tenías razón en que fue realmente fácil
:)
3

Código de máquina 6502 (C64), 51 53 bytes ( descifrado )

00 C0                     .WORD $C000     ; load address
20 FD AE                  JSR $AEFD
20 EB B7                  JSR $B7EB
8A                        TXA
0A                        ASL A
45 14                     EOR $14
8D 21 C0                  STA $C021
45 15                     EOR $15
85 15                     STA $15
49 E5                     EOR #$E5
85 14                     STA $14
8E 18 D0                  STX $D018
A0 00                     LDY #$00
B1 14                     LDA ($14),Y
20 D2 FF                  JSR $FFD2
C8                        INY
C0 0E                     CPY #$0E
D0 F6                     BNE *-8
60                        RTS
C8 45 4C 4C 4F 2C 20 D7   .BYTE "Hello, W"
4F 52 4C 44 21 0D         .BYTE "orld!", $D

Demostración en línea

Uso :, SYS49152,[x],[n]donde xes un entero sin signo de 16 bits y nes un entero sin signo de 8 bits .

La entrada es 52768 y 23 (SYS49152,52768,23)

El segundo parámetro se escribe directamente en D018un registro de control del chip gráfico VIC-II. Con una referencia adecuada, puede deducir qué escribir allí para configurar el modo en minúsculas sin cambiar otros modos y la dirección de la memoria de la pantalla: $17o decimal 23. Con eso, puede seguir la aritmética en el código, por lo que el primer parámetro termina con la dirección de cadena correcta en $14/$15(little-endian). Una explicación más profunda se puede encontrar en la grieta.

Captura de pantalla

Invocado con valores incorrectos, es muy probable un bloqueo .

Para el craqueo, es posible que desee ejecutarlo en una instalación local de vicio , así que aquí hay un cargador BÁSICO para pegar en el emulador ( RUNen el que colocar el programa $C000):

0fOa=49152to49202:rEb:pOa,b:nE
1dA32,253,174,32,235,183,138,10,69,20,141,33,192,69,21,133,21,73,229,133,20,142
2dA24,208,160,0,177,20,32,210,255,200,192,255,208,246,96,200,69,76,76,79,44,32
3dA215,79,82,76,68,33,13

Actualización: se agregaron dos bytes para la dirección de carga para hacer de este un archivo C64 ejecutable PRGen respuesta a la discusión sobre meta

Felix Palmen
fuente
¿Está seguro de que necesita llamar a la función de verificación de coma al principio? Tengo la impresión de que b7eb también hace esa comprobación.
Un hombre de oro el
b7ebllamadas aefd, pero solo después de llamar ad8a(número de análisis como flotante (!) (wtf) (MS)) y b7f7(convertir ese flotante a 16 bits sin signo int), así que primero tengo que llamarme aefdpara consumir la primera coma.
Felix Palmen
Agrietado ! Dulce dulce venganza!
Un hombre de oro el
@AGoldMan finalmente editó mi publicación. De nuevo, ¡bien hecho! Tal vez pueda encontrar otro código C64 que sea un poco más difícil de descifrar (sin ser injusto), aún no estoy seguro :)
Felix Palmen
2

Python 2 , 63 bytes, agrietado

Solo para que la pelota ruede ...

#coding:rot13
cevag vachg()==h'Hello, World!'naq'Hello, World!'

Pruébalo en línea!

totalmente humano
fuente
1
¿Se acepta generalmente que el OP interrumpa las presentaciones?
MD XF
1
agrietado
Post Rock Garf Hunter
3
Eso es interesante ... No me había dado cuenta de que ningún lenguaje "normal" admite la codificación en ROT13 o_o
ETHproductions
13
@Arnauld ¿Y estás afirmando que PHP es un lenguaje normal ?
NoOneIsHere
1
@NoOneIsHere Er ... no. Culpa mía. :-P
Arnauld
2

Pyth , 18 bytes ( agrietado )

IqGQ"Hello, World!

Esto es extremadamente fácil, y cualquiera que conozca a Pyth lo rompería en un abrir y cerrar de ojos, pero aún así ... Tenga en cuenta que debe poner la Cadena entre comillas.

Pruébalo en línea!

Sr. Xcoder
fuente
Si alguien lo resuelve, edítelo.
Sr. Xcoder
¿Agrietado?
Totalmente humano el
1
@totallyhuman Sí
Sr. Xcoder
2

JavaScript (solo navegador), 95 bytes ( agrietado )

try{a=JSON.parse(prompt());try{a=='[object Object]'}catch(a){alert('Hello, World!')}}catch(a){}

No demasiado duro. Tiene múltiples soluciones.


fuente
@Maltysen. ¡Eso fue rápido! :)
2

Gelatina , 11 bytes ( agrietada )

sLƽ$Xṙ5O½Ọ

Pruébalo en línea!

Entrada prevista:

〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ

Erik el Outgolfer
fuente
Agrietado
HyperNeutrino
@HyperNeutrino Heh que fue astuto, dado que vivió durante más de media hora. ;)
Erik the Outgolfer
Je, eso es porque solo lo vi 10 minutos antes de verlo; P
HyperNeutrino
2

Python3, 192 bytes Agrietado, supongo

from sys import *
from numpy import *
e=enumerate
c='Hello World!'
w=eval(argv[1])
x=[ord(n)+2*i for i,n in e(c)]
print(''.join([c[int(sum([c*cos(n*i)for i,c in e(w)])+.01)]for i,n in e(x)]))

El texto que lee es el primer argumento del programa: python3 hw.py '[1,2,3]'

No sea cojo e intente poner una print("Hello World!")declaración como argumento ... de todos modos imprime un error después (al menos en la línea de comando), por lo que no creo que deba contar. (Editar: alguien hizo exactamente eso)

rexroni
fuente
44
Agrietada . Grieta poco convincente, pero la evaluación sin restricciones debe ser castigada =)
Sísifo
2

Jalea ,  20  21 bytes ( Agrietada )

+1 byte - "... y una nueva línea final"

œ?“¥ĊɲṢŻ;^»œ?@€⁸ḊFmṪ⁷

Pruébalo en línea!

Hay, de hecho, infinitas soluciones.

Jonathan Allan
fuente
Creo que yo resolví esto. Mi crack funciona con el que por alguna razón falta en el enlace TIO, así que espero no confundirme.
tehtmi
Perdón por el error de TIO!
Jonathan Allan
2

Lua 5.1, 44 bytes ( agrietado )

s=...loadstring(#s>4+#s:gsub("%l","")or s)()

Tenga en cuenta que Lua 5.1 es un idioma diferente que Lua 5.2 o Lua 5.3. "Pruébelo en línea" no tiene Lua 5.1. Puede verificar su versión de Lua ejecutando print(_VERSION). (Debe haber una solución en cualquier implementación que use el núcleo Lua 5.1 de PUC-Rio).

Como arnés de prueba, puede usar algo como esto:

function test(...)s=...loadstring(#s>4+#s:gsub("%l","")or s)()end

test[[
This is my input!
It can have multiple lines!
]]

Pruebe el arnés en repl.it

tehtmi
fuente
2

C (GCC en TIO), 84 bytes de golf ( agrietado )

#include<stdio.h>
main(x){scanf("%d",&x);printf("%2$s","Hello, World!\n",(void*)x);}

Aquí hay una versión sin golf que también funciona:

#include <stdio.h>
int main(void)
{
    int x;
    scanf("%d",&x);

    printf("%2$s","Hello, World!\n",(void*)x);
}
MD XF
fuente
2

JavaScript (ES6), 92 bytes ( Agrietado )

Esta simple función de copia de cadena parece estar realmente resistiéndote a copiar cualquier cadena que se parezca Hello, World!...

f=s=>{let r='',i=0;while(i<13)r+=s[i]=='Hello, World!'[i]||s[i++];return r};Object.freeze(f)

Pruébalo en línea!

Voile
fuente
2

Röda , 71 bytes ( agrietado )

{[[head(_)]..[unpull(1)if[_1>1]]]|[_()|chars|unorderedCount|[_*(_-1)]]}

Pruébalo en línea!

Uso: push(/* input */) | f()(donde f es una variable que mantiene la función anterior).

fergusq
fuente
Agrietado
Kritixi Lithos
2

JavaScript (ES6), 135 119 bytes, ( Cracked )

const t='Hello, World!',g=q=>eval(`(function(p,q${q}){return eval(p),eval(q)})`),f=s=>g('')(s,0)==t&&g('=1')(s,0)!=t&&t

Pruébalo en línea!

Voile
fuente
Agrietado
Birjolaxew
2

JavaScript (ES6) 107 Bytes [Gracias Евгений Новиков] ( Agrietado )

i=r=>{for(e="",n=0;r.length>n;o=r.charCodeAt(++n),e+=String.fromCharCode(((3^o^19)<<1^15^13)<<1));return e}

Llama a la ifunción usando una cadena.

El console.log...es para fines de prueba.

¡Pruébelo en línea!

Ephellon Dantzler
fuente
Bienvenido a PPCG! Puede guardar 8 bytes: (1) eliminar var, (2) ()de un argumento de función de flecha, (3) reemplazar returna eval("")(4) eliminar ;al final. Solución de 110 bytes: pastebin.com/qwdm7fT7 Buena suerte
Евгений Новиков
Finalmente obtuve 50 repeticiones, así que: Agrietado
Voile