Votre défi est d'imprimer l'entrée, d'attendre n'importe quelle durée, d'imprimer l'entrée, d'attendre deux fois le temps que vous avez initialement attendu, d'imprimer à nouveau l'entrée, etc. Le retard initial doit être inférieur à 1 heure et vous devez avoir une précision de +/- 5% dans les retards suivants. En dehors de cela, il n'y a aucune restriction sur le temps de retard.
Exemple:
Entrée: hi
.
Sortie: hi
(1ms pause) hi
(2ms pause) hi
(4ms pause) hi
(8ms pause) hi
(16ms pause), etc.
Également autorisé:
hi
(Pause de 1 minute) hi
( pause de 2 minutes) hi
( pause de 4 minutes) hi
(pause de 8 minutes) hi
(pause de 16 minutes), etc.
L'entrée doit être fournie au début du programme (STDIN, paramètre de ligne de commande, paramètre de fonction, etc.) et sera une chaîne.
Le délai initial ne peut pas être 0.
y=x=>(x&&alert(x),y())
serait techniquement autorisé, mais je le voterais de manière négative.Réponses:
05AB1E , 6 octets
Code:
Explication:
Essayez-le en ligne!
la source
w
place de.W
.w
attend une seconde, quoi qu'il.W
arrive , apparaît et attend autant de millisecondes.Gw
.Scratch, 8 blocs + 3 octets
Équivalent en Python:
la source
Python 3,
6056 octetsJournal des modifications:
la source
print
déclaration en passant à Python 2 :)MATL , 8 octets
La première pause est de 2 secondes.
Essayez-le sur MATL Online . Ou consultez une version modifiée qui affiche le temps écoulé depuis le démarrage du programme. (Si l'interprète ne fonctionne pas, veuillez actualiser la page et réessayer).
Ou voyez un gif:
Explication
la source
Mathematica
34323029 octetsSolution d'origine 34 octets:
Raser 2 octets avec Do
Rasez un octet de plus avec la solution récursive de @ MartinEnder
@ngenisis utilise la récursion ReplaceRepeated pour raser un autre octet
la source
True
est1>0
. Mais quelque chose comme ça est un peu plus court:±n_:=#0[Print@n;Pause@#;2#]&@1
1<2
avant avant ton commentaire. Cependant, votre solution récursive enregistre un octet. Merci @MartinEnder±
est un octet dans le codage CP-1252 (codage Windows par défaut).1//.n_:>(Print@#;Pause@n;2n)&
Octave,
4241 octetsUn octet enregistré grâce à rahnema1,
p*=2
est plus court quep=p*2
.Je ne peux pas croire que je n'ai pas pu jouer au golf, mais ce n'était pas si simple.
p*=2
quelque part ailleurs.while pause(p*=2)
la source
input(0)
travauxJava (OpenJDK 8) , 113 octets
Essayez-le en ligne!
-60 octets grâce à Leaky Nun!
la source
public
enpublic static void main
.R,
5048 octetsrenvoie une fonction anonyme qui a un argument obligatoire, la chaîne à imprimer. N'imprime aucune nouvelle ligne, crache juste
x
sur l'écran.i
est un argument facultatif qui prend par défaut1
, attend lesi
secondes et doublei
.-2 octets grâce à pajonk
Essayez-le en ligne!
la source
i=1
utiliser ensuitei=i*2
à la fin et dormir justei
?Ruby,
34282322 (+2 pour-n
) = 24 octets3 octets économisés grâce à Value Ink!
1 octet économisé grâce à daniero
Commence
2
alors4
, etc.Explication
la source
-n
indicateur vous permet d'ignorer l'gets
appel initial , car l'indicateur le gérera pour vousprint
sans argument équivaut àputs$_
- un octet enregistréAlice , 16 octets
Essayez-le en ligne! (Pas grand-chose à voir bien sûr, mais vous pouvez vérifier la fréquence à laquelle il a été imprimé en une minute.)
Explication
la source
R,
4443 octetsBiffé 44 est toujours régulier 44; (
Cette réponse fournit déjà une solution décente, mais nous pouvons économiser quelques octets supplémentaires.
Fonction anonyme prenant pratiquement n'importe quoi imprimable comme argument
x
. Commence à 2 secondes et double à chaque fois par la suite. Abuse le fait quiT
est défini par défaut commeTRUE
qui s'évalue1
.Aussi, tant que ce commentaire obtient toujours le feu vert d'OP, nous pouvons le rendre encore plus court, mais je ne pense pas que ce soit dans l'esprit du défi.Les temps d'attente de 0 ne sont plus autorisés.la source
T
comme ça. dans la version courte de la réponse, vous n'avez même pas besoin d'appareils orthopédiques, juste un espace.T
ne l'aime pas,T
peut se défendre. Aussi, bonne trouvaille :)Cubix , 30 octets
Essayez-le ici
Cela correspond à un cube avec une longueur de côté 3.
la source
Bash , 37 octets
Pour une raison quelconque, TIO n'affiche pas la sortie tant que vous n'avez pas arrêté l'exécution du programme.
Essayez-le en ligne!
la source
PHP, 31 octets
dort 1, 2, 4, 8, ... secondes. Exécuter en tant que tuyau avec
php -nR '<code>'
Fonctionnera jusqu'à la 63e impression (sur une machine 64 bits), après quoi il n'y aura plus d'attente.
La version 1 produira des avertissements
sleep() expects parameter 1 to be integer, float given
, laversion 2 produira un avertissement
sleep(): Number of seconds must be greater than or equal to 0
.Insérez
@
avantsleep
pour désactiver les avertissements.la source
TI-Basic, 21 octets
la source
Python 3, 61 octets
Similaire au golf de @ L3viathan, mais utilise la
while
bouclela source
CJam, 26 octets
Ne fonctionne pas correctement sur TIO.
La première pause est de 20 millisecondes.
Explication
la source
C, 51 octets
C, 35 octets en fonction
Prend l'entrée comme argument de ligne de commande.
la source
Lot, 62 octets
Cela s'est avéré être un octet plus court que le doublement explicite
t
dans une boucle:la source
Réticulaire , 12 octets
Essayez-le en ligne!
Explication
la source
C #,
8079 octetsUn octet enregistré grâce à @raznagul.
la source
Write
instruction dans le corps de la boucle.Python 2, 54 octets
Utilise un calcul long au lieu de bibliothèques de synchronisation.
la source
PowerShell,
35333029 octetsAvec un indice utile de tout et Joey
Explication
Exécuté avec:
la source
for(;;)
. N'a même pas essayé de supprimer les points-virgules.$a=1
comme l'initialisation dans lefor
pour enregistrer un autre octet (for($a=1){...}
). De plus, je ne sais pas s'il faut compter le%
, car la routine que vous exécutez n'est qu'un bloc de script. (Mes défis ont tendance à être plutôt stricts quant à la nécessité d'un programme, en évitant de telles réflexions, mais pour tout ce qui va des questions, je ne sais toujours pas comment compter les différentes façons d'utiliser PowerShell.)Python 3, 49 octets
Utilise le léger retard de l'
+=
opération et l'exécute plusieursx
fois.x
double en s'ajoutant à lui-même autant de fois que la valeur dex
.Il commence à
6^6
(46656) pour s'en tenir à la variation maximale de 5% du retard.la source
Perl 6 , 39 octets
Essayez-le (
print
remplacé pour ajouter des informations de synchronisation)Étendu:
la source
JS (ES6),
4442403836 octetsBarré 44 est toujours 44
Vous n'aimez pas les bombes alertes?
Techniquement correct, mais abusif:
-3 octets grâce à Cyoce, -2 grâce à Business Cat, -2 grâce à Neil
la source
i=1,y=x=>(alert(x),setTimeout(y,i*=2))
pour économiser quelques octetsi=1,y=x=>setTimeout(y,i*=2,console.log(x))
?Lisp commun, 49 octets
le premier délai devrait être le
1
deuxième.la source
Pyth, 7 octets
Explication:
la source
TI-BASIC, 36 octets
La période d'attente initiale est de 1 seconde.
la source
Raquette, 51 octets
Exemple
la source