Dado un número entero no negativo n
, su solución debe generar un programa en el idioma elegido cuya salida tiene n
tantos bytes como el programa generado.
Reglas
- Debe especificar el idioma y la codificación de los programas que genera su solución, y no puede elegir diferentes idiomas o codificaciones para diferentes entradas a su solución. El idioma de su programa de salida puede o no ser el mismo que el idioma de su solución.
- Su envío solo necesita manejar enteros en el rango de su idioma, pero no abuse de esta regla.
Este es el código de golf, por lo que gana el envío más corto en bytes.
Ejemplo
Supongamos que n
es 4. Mi solución luego genera f_8
un programa que, en mi lenguaje (imaginario) genera j3 1s+/2]!mz
. La salida del programa tiene una longitud 3 y su salida tiene una longitud 3 * 4 = 12, por lo que la solución es correcta para la entrada 4.
Supongamos, en cambio, que n
es 1 y mi programa genera ffffpfpffp
(10 bytes). El programa ffffpfpffp
en mi idioma elegido tendría que producir una salida de 10 * 1 = 10 bytes.
n
como una cuerda?Respuestas:
JavaScript (ES6), 38 bytes
Manifestación
Mostrar fragmento de código
fuente
Jalea , 10 bytes
Pruébalo en línea!
Para la entrada
12
, sale12DL+8×x@⁶
, que genera 120 espacios. Pruébalo en línea!fuente
brainfuck , 348 bytes
Pruébalo en línea! O vea la versión Ungolfed (es decir, con lo que tuve que trabajar)
Descargo de responsabilidad
Pasé más tiempo haciendo esto de lo que pensé que era humanamente posible. Me gustaría agradecer a mi novia por permitirme abandonarla para trabajar en esto; así como mi salvador .
¿Cómo funciona?
Ninguna pista.
Como funciona
Todas las salidas tienen un fragmento de código final que son todas iguales:
Vamos a dividirlo en tres partes llamadas
a,b,c
La entrada
i
simplemente se agrega al frente en unario:(por ejemplo, si la entrada fue 10, entonces
i = '++++++++++'
)El duplicador : divide la entrada en dos números idénticos
m, n
, equivalentes a la entradaEl Ajustador : se ajusta de manera
n
tal que sea igual a la duración del programaLa impresora : imprime
m*n
caracteres ASCIITenga en cuenta que la entrada en el ejemplo es un
newline
, que como un valor ASCII de 10, por lo tanto, la entrada es10
. Si desea probar otros números pequeños, reemplace el número,
por el número+
que desee.fuente
Cheddar ,
109 bytesUn incómodo polígono de protones> _ <
fuente
Haskell , 55 bytes
Pruébalo en línea! Ejemplo de uso:
f 1
produce el siguiente programa de 54 bytes:Pruébalo en línea! que produce la siguiente salida de 54 bytes:
fuente
Python 3 -> HQ9 +, 11 bytes
Que se tenía que hacer
Pruébalo en línea!
fuente
Q
solo imprime su propio código fuente. Puede probar eso aquí: hq9plus.alwaysdata.net . Se suponía que esto nunca sería una entrada seria1
, entonces usted saleQ
, que a su vez saleQ
.Q
tiene longitud1
, pero su código tiene longitud11
.Java 8,
175174 bytesEjemplos:
n=1
salidas :(longitud = 89) que genera 89 ceros :
n=10
salidas :(longitud = 90) que genera 900 ceros :
n=100
salidas :(longitud = 91) que genera 9100 ceros :
Explicación:
fuente
RProgN 2 ,
75 bytesCon un espacio final
Explicado
Pruébalo en línea!
fuente
CJam,
813 bytesPruébalo en línea
El programa generado genera espacios, por lo que es difícil saberlo.
fuente
Ly , 29 bytes
Pruébalo en línea!
(no funciona actualmente debido a un error de preprocesamiento) ¡Todo bien!fuente
Python → TECO, 20 bytes
La respuesta está en Python mientras que el código generado está en TECO. Python es una función que devuelve n
VV12345\VV
repetidas veces. Vea aquí para una explicación del TECO.fuente
PHP, 47 + 1 bytes
imprime un guión bajo seguido de espacios.
Ejecutar como tubería con
-F
; ejecutar programa generado con-f
o-F
.Esto fallaría para la entrada con más de 64 dígitos,
que es mucho mayor que
PHP_INT_MAX
(en este momento).Sin embargo, falla para una entrada mayor que
PHP_INT_MAX
-18 ... ¿todavía califica?fuente
PHP_INT_MAX
-18. ¿Eso lo descalifica?PHP → Python 2, 40 + 1 bytes
imprime un programa Python que imprime repetidamente
A
s. Ejecutar como tubería con-F
.fuente
Lote → Carbón, 22 bytes
No estoy seguro de qué codificación debería usar, ya que estos son bytes. Aquí están los bytes interpretados como Windows-1252:
Los mismos bytes que PC-850:
Los mismos bytes en la página de códigos de Charcoal:
El programa Charcoal resultante tiene una
Plus(Length(Cast(n)), 9)
longitud de bytes:fuente
Recursiva ,
1615 bytesPruébalo en línea!
Esto para la entrada de
n=2
impresiones:que produce 30
*
. Pruébalo en línea!fuente
JavaScript (ES8),
434139 bytesPruébalo
La salida de la función generada es una cadena de espacios que se reemplazan con
*
s en este fragmento.fuente
R , 46 bytes
Pruébalo en línea!
Función anónima que devuelve la cadena.
Que imprime
a
(a
seguido de un espacio) 23n
veces. Necesitaba el''
porque de lo contrariocat
no imprimiría el último carácter de espacio.fuente
C, 94 bytes
esto sería 94 bytes, incluye la última \ n que el estándar C dice que debería escribirse. regresar como caracteres 'r' como (longitud del programa) * (argumento del programa) si el argumento del programa no existe o es <= 0 o es> 0xFFFFF no imprime nada ejemplo
fuente
MATLAB (63 bytes)
Por ejemplo:
y:
fuente