Su desafío es imprimir la entrada, esperar cualquier cantidad de tiempo, imprimir la entrada, esperar dos veces el tiempo que inicialmente esperó, imprimir la entrada nuevamente, y así sucesivamente. El retraso inicial debe ser inferior a 1 hora y debe tener una precisión de +/- 5% en los retrasos posteriores. Aparte de eso, no hay restricción en el tiempo de retraso.
Ejemplo:
Entrada: hi
.
Salida: hi
(pausa de 1 hi
ms ) (pausa de 2 ms ) (pausa de 4 ms ) (pausa de 8 ms) hi
(pausa de hi
16 hi
ms), etc.
También permitido:
hi
(Pausa de 1 minuto) hi
( pausa de 2 minutos) hi
( pausa de 4 minutos) hi
(pausa de 8 minutos) hi
(pausa de 16 minutos), etc.
La entrada debe proporcionarse al inicio del programa (STDIN, parámetro de línea de comando, parámetro de función, etc.) y será una cadena.
El retraso inicial no puede ser 0.
y=x=>(x&&alert(x),y())
estaría permitido, pero lo rechazaría.Respuestas:
05AB1E , 6 bytes
Código:
Explicación:
Pruébalo en línea!
fuente
w
lugar de.W
.w
espera un segundo,.W
pase lo que pase , aparece una y espera tantos milisegundos.Gw
.Scratch, 8 bloques + 3 bytes
Equivalente en Python:
fuente
Python 3,
6056 bytesRegistro de cambios:
fuente
print
declaración al cambiar a Python 2 :)MATL , 8 bytes
La primera pausa es de 2 segundos.
Pruébalo en MATL Online . O ver una versión modificada que muestre el tiempo transcurrido desde que se inició el programa. (Si el intérprete no funciona, actualice la página e intente nuevamente).
O ver un gif:
Explicación
fuente
Mathematica
34323029 BytesSolución original 34 Bytes:
Afeite 2 bytes con Do
Elimine un byte más con la solución recursiva de @ MartinEnder
@ngenisis usa la recursividad ReemplazarRepetida para eliminar otro byte
fuente
True
es1>0
. Pero algo como esto es un poco más corto:±n_:=#0[Print@n;Pause@#;2#]&@1
1<2
previo a tu comentario. Sin embargo, su solución recursiva ahorra un byte. Gracias @MartinEnder±
es un byte en la codificación CP-1252 (codificación predeterminada de Windows).1//.n_:>(Print@#;Pause@n;2n)&
Octava,
4241 bytesGuardado un byte gracias a rahnema1,
p*=2
es más corto quep=p*2
.No puedo creer que no haya podido jugar golf, pero en realidad no fue tan fácil.
p*=2
otro lugar.while pause(p*=2)
fuente
input(0)
funcionaJava (OpenJDK 8) , 113 bytes
Pruébalo en línea!
-60 bytes gracias a Leaky Nun!
fuente
public
enpublic static void main
.R,
5048 bytesdevuelve una función anónima que tiene un argumento obligatorio, la cadena para imprimir. No imprime nuevas líneas, solo escupe
x
en la pantalla.i
es un argumento opcional que por defecto es1
, esperai
segundos y se duplicai
.-2 bytes gracias a pajonk
Pruébalo en línea!
fuente
i=1
entonces usari=i*2
al final y dormir soloi
?Ruby,
34282322 (+2 para-n
) = 24 bytes¡3 bytes guardados gracias a Value Ink!
1 byte guardado gracias a daniero
Comienza en
2
, entonces4
, etc.Explicación
fuente
-n
indicador le permite omitir lagets
llamada inicial , porque el indicador lo manejará por ustedprint
sin argumento es equivalente aputs$_
- un byte guardadoAlice , 16 bytes
Pruébalo en línea! (No hay mucho que ver allí, por supuesto, pero puede verificar con qué frecuencia se imprimió en un minuto).
Explicación
fuente
R,
4443 bytesTachado 44 sigue siendo regular 44; (
Esta respuesta ya proporciona una solución decente, pero podemos guardar algunos bytes más.
Función anónima que toma prácticamente cualquier cosa imprimible como argumento
x
. Comienza a los 2 segundos y luego se duplica cada vez. Abusa del hecho queT
se define por defecto como elTRUE
que evalúa1
.Además, mientras este comentario todavía reciba luz verde de OP, podemos hacerlo aún más corto, pero no creo que sea en el espíritu del desafío.Los tiempos de espera de 0 ya no están permitidos.fuente
T
así. en la versión más corta de la respuesta, ni siquiera necesita llaves, solo un espacio.T
no le gusta,T
puede defenderse. Además, buen hallazgo :)Cubix , 30 bytes
Pruébalo aquí
Esto se asigna a un cubo con longitud lateral 3.
fuente
Bash , 37 bytes
Por alguna razón, TIO no mostrará el resultado hasta que detenga la ejecución del programa.
Pruébalo en línea!
fuente
PHP, 31 bytes
duerme 1, 2, 4, 8, ... segundos. Corre como tubería con
php -nR '<code>'
Funcionará hasta la impresión 63 (en una máquina de 64 bits), después de eso no habrá más esperas.
La versión 1 arrojará advertencias
sleep() expects parameter 1 to be integer, float given
,versión 2 generará una advertencia
sleep(): Number of seconds must be greater than or equal to 0
.Inserte
@
antessleep
para silenciar las advertencias.fuente
TI-Basic, 21 bytes
fuente
Python 3, 61 bytes
Similar al golf de @ L3viathan, pero usa
while
loopfuente
CJam, 26 bytes
No funciona correctamente en TIO.
La primera pausa es de 20 milisegundos.
Explicación
fuente
C, 51 bytes
C, 35 bytes como una función
Toma datos como argumento de línea de comando.
fuente
Lote, 62 bytes
Esto resultó ser un byte más corto que duplicar explícitamente
t
en un bucle:fuente
Reticular , 12 bytes.
Pruébalo en línea!
Explicación
fuente
C #,
8079 bytesGuardado un byte gracias a @raznagul.
fuente
Write
declaración al cuerpo del bucle.Python 2, 54 bytes
Utiliza un cálculo largo en lugar de bibliotecas de temporización.
fuente
PowerShell,
35333029 BytesCon una pista útil de lo que sea y Joey
Explicación
Ejecutado con:
fuente
for(;;)
. Ni siquiera trató de eliminar los punto y coma.$a=1
como inicialización en elfor
para guardar otro byte (for($a=1){...}
). Además, no estoy seguro de contar%
, ya que la rutina real que está ejecutando es solo un bloque de script. (Mis desafíos tienden a ser bastante estrictos sobre la necesidad de un programa, evitando tales reflexiones, pero para cualquier cosa que surja, todavía no estoy muy seguro de cómo contar varias formas de usar PowerShell.)Python 3, 49 bytes
Utiliza el ligero retraso de la
+=
operación y la ejecutax
veces.x
se duplica agregando uno a sí mismo tantas veces como el valor dex
.Comienza en
6^6
(46656) para mantener la variación máxima del 5% en el retraso.fuente
Perl 6 , 39 bytes
Pruébelo (
print
anulado para agregar información de tiempo)Expandido:
fuente
JS (ES6),
4442403836 bytesTachado 44 sigue siendo 44
¿No te gustan las bombas de alerta?
Técnicamente correcto, pero abusivo de lagunas:
-3 bytes gracias a Cyoce, -2 gracias a Business Cat, -2 gracias a Neil
fuente
i=1,y=x=>(alert(x),setTimeout(y,i*=2))
para guardar un par de bytesi=1,y=x=>setTimeout(y,i*=2,console.log(x))
?Lisp común, 49 bytes
El primer retraso debe ser el
1
segundo.fuente
Pyth, 7 bytes
Explicación:
fuente
TI-BASIC, 36 bytes
El período de espera inicial es de 1 segundo.
fuente
Raqueta, 51 bytes
Ejemplo
fuente