Basado en este desafío.
En el juego de ritmo osu! , el modificador de dificultad "Doble tiempo" en realidad solo aumenta la velocidad en un 50%.
Su tarea, es escribir un programa que da salida a una positiva incluso entero (mayor que 0), y cuando se duplica cada byte / personaje (a elegir cuál) en el código fuente, se debe emitir el número multiplicado por 1,5.
Por ejemplo, si su código fuente es ABC
y que genera 6, entonces AABBCC
debería generar 9.
Siguiendo las reglas del desafío original:
Reglas
- Debes construir un programa completo.
- La fuente inicial debe tener al menos 1 byte de longitud.
- Ambos enteros deben estar en la base 10 (está prohibido enviarlos a cualquier otra base o con notación científica).
- Su programa no debe tomar entradas (o tener una entrada vacía no utilizada) y no debe arrojar ningún error (las advertencias del compilador no se consideran errores).
- La salida de los enteros con espacios finales / iniciales está permitida.
- No puede asumir una nueva línea entre copias de su fuente.
- Este es el código de golf , por lo que gana la menor cantidad de bytes en cada idioma .
- Se aplican las lagunas predeterminadas .
Me imagino que esto será mucho menos trivial que el desafío original, ¡pero esperamos ver algunas respuestas creativas y únicas!
code-golf
source-layout
Skidsdev
fuente
fuente
write a program that outputs a positive even integer
Sí, lo hará. Cada número par se puede multiplicar por 1.5 para dar como resultado un entero enterofull program
. Es difícil imaginar que un programa duplicado todavía tenga un punto / función de entrada válido.Respuestas:
Pilones ,
754 bytesElegí un idioma aleatorio en TIO lo usé
Explicación:
Pruébalo en línea!
Doblado:
Guardado 2 bytes gracias a officialaimm
Guardado 1 bytes gracias a Veedrac
fuente
4/6vt
funciona bien ...46vt
haría lo mismo?Jalea , 2 bytes
Pruébalo en línea!
Explicación:
Versión duplicada:
Pruébalo en línea!
Explicación:
fuente
LibreOffice Calc, 8 bytes
Guárdelo como
*.csv
y ábralo en LibreOffice Calc. Obtendrás 22 en A1.Doblarlos:
Obtendrás 33 en A1
fuente
MATL , 3 bytes
Pruébalo en línea! O versión duplicada .
Explicación
En MATL, un valor escalar (número, carácter, valor lógico) es lo mismo que una matriz 1 × 1 que contiene ese valor.
Versión normal:
Versión duplicada:
fuente
:)
[a veces usamos eso para obtener los primerosn
elementos de una matriz ...]vim, 5
Sin duplicar:
Con duplicación:
fuente
No estoy seguro si esta respuesta es válida. Solo publique aquí en caso de que alguien tenga ideas de aquí.
Nodo.js con bandera -p, 7 bytes
Por Alex Varga :
Nodo.js con bandera -p, 11 bytes
El viejo:
Salida 22 y 33.
fuente
-p
indicador para generar el valor de expresiónPython 2 REPL, 11 bytes
Esto simplemente evalúa a 3 * 2 = 6. Duplicado, es
que evalúa a 3 ** 2, que es 3 a la potencia de 2, o 9.
fuente
APL, 7 bytes
Impresiones
2
.Impresiones
3
.Pruébalo en línea!
Waaat?
Soltero:
Doble:
fuente
En realidad , 3 bytes
Pruébalo en línea!
Explicación:
Versión duplicada:
Pruébalo en línea!
Explicación:
fuente
CJam , 4 bytes
¡Pruébalo normalmente!
¡Pruébalo doblado!
Explicación
Normal:
Doble:
fuente
AB],
También funciona.05AB1E , 2 bytes
Pruébalo en línea!
Explicación:
Versión duplicada:
Pruébalo en línea!
Explicación:
fuente
Neim , 2 bytes
Pruébalo en línea!
Explicación:
Versión duplicada:
Pruébalo en línea!
fuente
Pyth, 3 bytes
Pruébalo aquí
Explicación:
Versión duplicada:
Pruébalo aquí
Explicación:
fuente
R , 11 bytes
Pruébalo en línea!
!
es negación, y**
es exponenciación (un alias para^
). Los números se convierten en booleanos:0
aFALSE
, todos los demás aTRUE
. Booleanos se convierten en enteros:FALSE
a0
,TRUE
a1
, por lo que!0==1
,!1==0
,!!00==0
y!!11==1
.La versión única calcula así8 × 1 + 1 × 0 = 8 , y la versión doble calcula 880 0+ 111= 12 .
fuente
*
y**
, pero se me adelantó!!0
es molesta). Puede haber algo más corto con-
y*
, pero aún no he encontrado una solución así ...Cubix , 6 bytes
Impresiones
2
.Empujes
1
,)
incrementos,W
salta a la izquierda aO
qué salidas2
y@
finaliza el programa.Doblado, obviamente
OO..11))WW@@
, lo que en un cubo es:Empuja
1
dos veces,)
aumenta dos veces,W
salta nuevamente a la izquierda, lo que lo coloca a la derechaO
hacia el norte, que sale3
, y luego el siguiente comando es el@
que finaliza el programa.Pruébalo en línea!
Duplicado en línea!
fuente
Klein ,
86 bytesindividual , doble
Explicación
Para el single, el programa sigue un camino bastante sencillo. El primer espejo lo desvía hacia el segundo que lo desvía a través del
4
hasta el final del programa.El doble es un poco más complejo. Aquí está:
Los primeros dos espejos funcionan de la misma manera, sin embargo, hay un nuevo espejo debido a la duplicación que desvía la ip hacia el principio, es atrapado por el duplicado del primer espejo y desviado hacia el final. Todo lo que se ejecuta es el
33++
que se evalúa como 6.fuente
TI-Basic, 3 bytes
Soltero:
La última expresión se devuelve / imprime implícitamente en TI-Basic, por lo que imprime
2
Doblado:
Devoluciones / impresiones 3
TI-Basic es un lenguaje tokenizado ;
int(
,,√(
y8
cada uno de los bytes en memoria.fuente
Ruby REPL, 8 bytes
El REPL sólo imprime el último valor evaluado:
22
.Doblado:
Esta vez
33
es el último valor evaluado. La cadena se descarta una vez más y#
comienza un comentario.fuente
> <>,
198 bytesImpresiones
22
Pruébelo en línea!
Explicación:
Doblado:
Impresiones
33
Pruébelo en línea!
Explicación:
Versión Antigua:
Normal:Impresiones
2
Pruébelo en línea!
Explicación:
Doblado:
Impresiones
3
Pruébelo en línea!
Explicación:
fuente
Zsh , 14 bytes
Pruébalo en línea!
Obtener un programa completo en un lenguaje que no sea de golf para imprimir cualquier cosa con el código fuente duplicado de esta manera es un desafío. Zsh es muy útil para esto, porque los archivos y heredocs se pasan implícitamente a
cat
. Echemos un vistazo a la primera línea en ambos casos:Mientras
3
no sea un programa, solo se imprimirá el primer programa22
. El segundo programa se imprimirá33
rodeado de nuevas líneas adicionales (debido a la duplicación).Si
3
es una función / programa / alias, ¡entonces esta solución de 18 bytes seguirá funcionando!Pruébalo en línea!
La última
\
es la continuación de la línea, por lo que la nueva línea se descarta, lo que efectivamente hace la declaración de ecoecho '22\c3'
. El\c
eco deja de imprimir después22
(lo que también suprime la nueva línea).fuente
Perl 6 , 14 bytes
Pruébalo en línea! ¡Pruébalo doblado!
Esto utiliza la función de depuración convenientemente nombrada
dd
para enviar el programa duplicado a STDERR. Para separar la lógica, encerramos el programa duplicado entre comillas, que luego se cancelan entre sí cuando se duplica, junto con un carácter#
de comentario para comentar el programa normal ahora no válido.fuente
Stax , 3 bytes
Ejecutar y depurarlo
Ejecuta y depura el duplicado
U
empuja -1.J
cuadrícula.^
incrementosfuente
MathGolf , 2 bytes
Pruébalo en línea! Pruébalo doblado
Similar a otras respuestas en que la primera instrucción produce un
1
par cuando se duplica y la segunda la incrementa. En este caso, he usado la exponenciación inversa (0**0 = 0**0**0 = 1
), pero también podría haber sido cualquiera de las!£≤°
instrucciones y quizás incluso más que me perdí.fuente
Japt , 2 bytes
Otra solución "factorial + 1".
Pruébalo
Pruébalo
fuente