Todos sabemos lo que es una quine . Un quine invertido es un programa no vacío que imprime el inverso de su código fuente sin leer su código fuente, y consiste únicamente en caracteres ASCII imprimibles (espacio a través ~
).
Aquí, "inverso del código fuente" significa lo siguiente: la salida de su programa debe contener cada carácter ASCII imprimible (m - c) veces, donde c es el número de veces que dicho carácter aparece en su código, ym es el máximo Número de veces que se repite cualquier carácter en su código.
(En otras palabras: su código + su salida = permutación de m veces todos los imprimibles-ASCII).
Por ejemplo, si su programa es 12345
, entonces m = 1 , y debería generar cualquier permutación de esta cadena:
!"#$%&'()*+,-./06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Si su programa es AAB
, entonces m = 2 , y debe generar cualquier permutación de:
!!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@BCCDDEEFFGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
Tenga en cuenta cómo faltan dos A
sy una falta B
.
Aunque un programa que contiene todos los caracteres ASCII imprimibles y no genera nada es una suma inversa válida (que satisface m = 1 ), dicha respuesta no sería muy competitiva, dada su longitud.
Debe escribir un programa que sea una línea invertida, como se describe en el párrafo anterior. Como se trata de code-golf , ganará el programa más corto en bytes. ¡Buena suerte!
duplicated for every repeated character in the source code
que marca la diferencia en el desafío11234512345
?duplicated for every repeated character in the source code
significa o si la presentación es válida para ese criterio, porque el OP no ha abordado Algunas de las preguntas aquí.Respuestas:
Brain-Flak ,
221207 bytesIncluye +1 para
-A
Pruébalo en línea!
fuente
[
cinco veces, no todas. Tenga en cuenta que2
solo se elimina una vez en el ejemplo. Sin embargo, el desafío es un poco confuso.+1
:)!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
abcdefghijklmnopqrstuvwxyz {|} ~ ` obtendría una mejor puntuación: /CJam , 17 bytes
Pruébalo en línea!
Huellas dactilares
Explicación
El objetivo era modificar la quine estándar.
tal que no se repita ningún carácter en el programa. La razón de esto es que CJam tiene un operador diferente que podemos usar para eliminar caracteres del rango ASCII imprimible, pero no tiene en cuenta la cantidad de ocurrencias. Implementar eso a mano probablemente sería más largo, por lo que necesitaba asegurarme de que cada personaje aparezca solo una vez y no tengamos que preocuparnos por los sucesos.
fuente
Python 3 , 83 bytes
Pruébalo en línea!
Impresiones
-0.375 False
.fuente
05AB1E ,
956160 bytes (no 58 b / c no me gusta)Pruébalo en línea!
Respuesta anterior invalidada por "solo caracteres ASCII", muchos comandos no son válidos aquí.
Se imprime
abcdefghijklmnopqrstuvwxyz012345678
una vez ya que no hay caracteres duplicados.Versión con
BCDEFGHIKMNOPQRSTUVWXYZ
eliminado:Trabajo en progreso ... Creo que ~ 60 bytes es lo más bajo posible sin caracteres no ASCII en 05AB1E ...
05AB1E , 58 bytes
Pruébalo en línea!
Imprime la salida x12 debido a los caracteres repetidos:
Tampoco termina correctamente, trabajando en eso ahora ...
Se han eliminado las respuestas antiguas no válidas (debido a caracteres no ASCII), consulte el historial de edición.
fuente
Java 8,
10699190 bytesfuente
i {
porque ya tiene un espacioclass i{/*!"#$%&'()+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`bdefghjkmnopqrtuvwxyz|~*/}
suficiente? Contiene todos los ASCII imprimibles en su código fuente y no muestra nada. La parte " duplicado para cada carácter se repite en el código fuente " se aplica a la salida, por lo que aunques
se duplica enclass
y*
y/
se duplican debido a/* */
, dar salida a cuatro veces nada sigue siendo nada.interface Z{}//!"#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY[\]^_`bdghjklmopqsuvwxyz|~
Javascript (ES6),
103101bytesSolución anterior (103 bytes usando
alert
)Solución antigua (no válida) (96 bytes)
fuente
//
, lo que significa que debe generar los caracteres imprimibles, con uno/
eliminado. (Creo)