Seu desafio é imprimir a entrada, aguardar qualquer quantidade de tempo, imprimir a entrada, esperar duas vezes o tempo inicialmente esperado, imprimir a entrada novamente e assim por diante. O atraso inicial deve ser menor que 1 hora e você deve ter uma precisão de +/- 5% nos atrasos subsequentes. Fora isso, não há restrição no tempo de atraso.
Exemplo:
Entrada: hi
.
Saída: hi
(1ms de pausa) hi
(2ms de pausa) hi
(4ms de pausa) hi
(8ms de pausa) hi
(16ms de pausa), etc.
Também é 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.
A entrada deve ser fornecida no início do programa (STDIN, parâmetro da linha de comandos, parâmetro da função, etc.) e será uma sequência.
O atraso inicial não pode ser 0.
y=x=>(x&&alert(x),y())
seria tecnicamente permitido, mas eu o rebaixaria.Respostas:
05AB1E , 6 bytes
Código:
Explicação:
Experimente online!
fonte
w
vez de.W
.w
espera um segundo, não importa o quê, e faz.W
um e aguarda tantos milissegundos.Gw
.Scratch, 8 blocos + 3 bytes
Equivalente em Python:
fonte
Python 3,
6056 bytesChangelog:
fonte
print
declaração por mudar para Python 2 :)MATL , 8 bytes
A primeira pausa é de 2 segundos.
Experimente no MATL Online . Ou veja um versão modificada que exibe o tempo decorrido desde o início do programa. (Se o intérprete não funcionar, atualize a página e tente novamente).
Ou veja um gif:
Explicação
fonte
Mathematica
34323029 BytesSolução original 34 bytes:
Raspe 2 bytes com Do
Raspe mais um byte com a solução recursiva do @ MartinEnder
O @ngenisis usa a recursão ReplaceRepeated para remover outro byte
fonte
True
é1>0
. Mas algo assim é um pouco mais curto:±n_:=#0[Print@n;Pause@#;2#]&@1
1<2
antes de seu comentário. No entanto, sua solução recursiva salva um byte. Obrigado @MartinEnder±
é um byte na codificação CP-1252 (codificação padrão do Windows).1//.n_:>(Print@#;Pause@n;2n)&
Oitava,
4241 bytesSalvo um byte graças a rahnema1,
p*=2
é menor quep=p*2
.Não acredito que não fui capaz de jogar isso, mas na verdade não foi tão fácil.
p*=2
outro lugar.while pause(p*=2)
fonte
input(0)
obrasJava (OpenJDK 8) , 113 bytes
Experimente online!
-60 bytes graças a Leaky Nun!
fonte
public
nopublic static void main
.R,
50bytes 48retorna uma função anônima que possui um argumento obrigatório, a sequência a ser impressa. Não imprime novas linhas, apenas cospe
x
na tela.i
é um argumento opcional cujo padrão é1
, aguardai
segundos e dobrai
.-2 bytes graças a pajonk
Experimente online!
fonte
i=1
depois usari=i*2
no final e dormir apenasi
?Ruby,
34282322 (+2 para-n
) = 24 bytes3 bytes salvos graças ao Value Ink!
1 byte salvo graças a daniero
Começa em
2
, então4
etc.Explicação
fonte
-n
bandeira permite ignorar a inicialgets
chamada, porque a bandeira vai lidar com isso para vocêprint
sem um argumento é equivalente aputs$_
- um byte salvoAlice , 16 bytes
Experimente online! (Claro que não há muito para ver lá, mas você pode verificar com que frequência foi impresso em um minuto.)
Explicação
fonte
R,
4443 bytesO riscado 44 ainda é regular 44;
Essa resposta já fornece uma solução decente, mas podemos economizar mais alguns bytes.
Função anônima, tendo praticamente qualquer coisa imprimível como argumento
x
. Começa em 2 segundos e dobra toda vez depois. Abusa o fato de que,T
por padrão, é definido como oTRUE
qual é avaliado1
.Além disso, desde que esse comentário ainda receba uma luz verde do OP, podemos torná-lo ainda mais curto, mas não acho que esteja no espírito do desafio.Tempos de espera de 0 não são mais permitidos.fonte
T
assim. na versão mais curta da resposta, você nem precisa de aparelho, apenas um espaço.T
não gostar,T
pode se defender. Além disso, agradável encontrar :)Cubix , 30 bytes
Experimente aqui
É mapeado para um cubo com comprimento lateral 3.
fonte
Bash , 37 bytes
Por alguma razão, o TIO não mostrará a saída até que você pare a execução do programa.
Experimente online!
fonte
PHP, 31 bytes
dorme 1, 2, 4, 8, ... segundos. Executar como tubo com
php -nR '<code>'
Funcionará até a 63ª impressão (em uma máquina de 64 bits), depois disso não haverá mais espera.
A versão 1 gera avisos
sleep() expects parameter 1 to be integer, float given
, aversão 2 gera um aviso
sleep(): Number of seconds must be greater than or equal to 0
.Insira
@
antessleep
para silenciar os avisos.fonte
TI-Basic, 21 bytes
fonte
Python 3, 61 bytes
Semelhante ao golfe do @ L3viathan, mas usa
while
loopfonte
CJam, 26 bytes
Não funciona corretamente no TIO.
A primeira pausa é de 20 milissegundos.
Explicação
fonte
C, 51 bytes
C, 35 bytes em função
Recebe entrada como um argumento de linha de comando.
fonte
Lote, 62 bytes
Acabou sendo um byte mais curto do que explicitamente dobrando
t
em um loop:fonte
Reticular , 12 bytes
Experimente online!
Explicação
fonte
C #,
80bytesGuardou um byte graças a @raznagul.
fonte
Write
instrução para o corpo do loop.Python 2, 54 bytes
Usa um cálculo demorado em vez de cronometrar bibliotecas.
fonte
PowerShell,
35333029 bytesCom uma dica útil de qualquer coisa e Joey
Explicação
Executado com:
fonte
for(;;)
. Nem sequer tentou remover o ponto e vírgula.$a=1
como a inicialização nofor
para salvar outro byte (for($a=1){...}
). Além disso, não tenho certeza se deve contar%
, pois a rotina atual que você está executando é apenas um bloco de script. (Meus desafios tendem a ser bastante rigoroso sobre a necessidade de um programa, evitando tais ponderações, mas para alguma coisa der perguntas que eu ainda não estou muito certo como contar várias maneiras de usar PowerShell.)Python 3, 49 bytes
Usa o pequeno atraso da
+=
operação e a executax
vezes.x
dobra adicionando uma a si mesma quantas vezes o valor dex
.Começa em
6^6
(46656) para manter a variação máxima de 5% no atraso.fonte
Perl 6 , 39 bytes
Experimente (
print
substituído para adicionar informações de tempo)Expandido:
fonte
JS (ES6),
4442403836 bytesRiscado 44 ainda é 44
Não gosta de bombas de alerta?
Tecnicamente correto, mas abusando de brechas:
-3 bytes graças a Cyoce, -2 graças a Business Cat, -2 graças a Neil
fonte
i=1,y=x=>(alert(x),setTimeout(y,i*=2))
para salvar um casal bytesi=1,y=x=>setTimeout(y,i*=2,console.log(x))
?Lisp comum, 49 bytes
o primeiro atraso deve ser o
1
segundo.fonte
Pitão, 7 bytes
Explicação:
fonte
TI-BASIC, 36 bytes
O período de espera inicial é de 1 segundo.
fonte
Raquete, 51 bytes
Exemplo
fonte