Introduction:
Je pense que tout le monde sait ce qu'est une lampe à lave, mais au cas où ils ne le feraient pas:
Ce sont essentiellement des tubes en verre qui contiennent de la cire dans un liquide translucide. La partie inférieure est chauffée lorsque la lampe est allumée, provoquant un changement de densité et donc la cire flotte vers le haut. Quand il se refroidit, il retombe, provoquant l'effet que nous voyons ci-dessus.
Il faut généralement environ 45 à 60 minutes pour que la base de la lampe augmente à une température suffisamment élevée pour changer la cire solide en cire liquide (si la lampe est située dans une zone à température ambiante).
Défi:
Étant donné un entier positif n
indiquant le nombre de minutes qui se sont écoulées depuis que nous avons allumé la lampe à lave, affichez un état aléatoire de la lampe à lave sur la base d'entiers à cinq niveaux.
Pour ce défi, nous dirons que la lampe à lave contient au total 1000 unités de cire, et nous avons cinq niveaux où la cire peut être.
1) Si n
est inférieur à 45, la lampe à lave chauffe toujours, donc la sortie sera de quatre lignes vides avec 1000
en bas:
1000
2) Si n
est dans la plage, [45, 60)
la lampe à lave a suffisamment augmenté en température pour que la cire puisse se déplacer, mais pas encore très haut. La cire peut atteindre jusqu'au troisième niveau inclus.
3) Si n
c'est 60
ou plus, la cire peut être à l'un des cinq niveaux.
Donc, étant donné l'entier positif n
en entrée, nous afficherons un état aléatoire avec les trois règles ci-dessus à l'esprit.
Voici quelques exemples de sorties:
Sorties possibles pour tout ce n
qui est >= 45
:
523
106
371
913
87
Sorties possibles pour tout ce n
qui est >= 60
:
73
113
312
5
497
284
55
637
24
Sortie constante pour n
cela <= 44
(et sortie possible pour tout n
):
1000
Règles du défi:
- Il peut y avoir des lignes vides, même si le niveau supérieur n'est pas vide.
- Ce
0
n'est pas autorisé sur aucune ligne. Doit être vide à la place. - La sortie est quelque peu flexible. Vous êtes autorisé à générer une liste / un tableau de chaînes / objets au lieu d'un résultat délimité par une nouvelle ligne comme ci-dessus. La raison pour laquelle je dis des chaînes / objets est due à la règle ci-dessus. Une ligne vide doit être
""
,null
,[]
, etc., mais ne peut pas être0
ou un entier négatif (ne peut - il êtrefalse
) (Ie["", "", 913, "", 87]
pourn >= 45
). Vous êtes également autorisé à inverser la sortie (c'est-1000\n\n\n\n
à- dire au lieu de\n\n\n\n1000
ou à la[87, null, 913, null, null]
place de[null, null, 913, null, 87]
). - Les nombres doivent tous être des entiers. Il peut s'agir de décimales avec
0
comme valeur décimale, mais aucun des nombres ne doit avoir de chiffres décimaux et les nombres entiers doivent toujours correspondre exactement1000
. - Toutes les sorties aléatoires possibles basées sur
n
devraient avoir une chance non nulle de se produire. - Une nouvelle ligne de fin (il y a donc six lignes de sortie) est autorisée.
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues autres que le golf de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse, vous êtes donc autorisé à utiliser STDIN / STDOUT, fonctions / méthode avec les paramètres appropriés et des programmes complets de type retour. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code.
- De plus, l'ajout d'une explication à votre réponse est fortement recommandé.
0
, un nombre négatif ou false
.
n < 60
?
n < 45
seulement 1 niveau est rempli cependant ( en haut ou en bas en fonction de l'ordre de sortie dans), ce qui est 1000
. Avec 45 <= n < 60
trois des cinq et avec n >= 60
les cinq. Mais la sortie contiendra toujours cinq «lignes».