Einführung:
Ich denke, jeder weiß, was eine Lava-Lampe ist, aber für den Fall, dass dies nicht der Fall ist:
Im Grunde handelt es sich um Glasröhren, die Wachs in einer durchscheinenden Flüssigkeit enthalten. Der untere Teil erwärmt sich beim Einschalten der Lampe, wodurch sich die Dichte ändert und das Wachs nach oben schwimmt. Wenn es abkühlt, fällt es wieder ab und verursacht den oben gezeigten Effekt.
Normalerweise dauert es etwa 45 bis 60 Minuten, bis der Lampensockel eine Temperatur erreicht hat, die ausreicht, um das feste Wachs in flüssiges Wachs umzuwandeln (wenn sich die Lampe in einem Raum mit Raumtemperatur befindet).
Herausforderung:
Bei einer positiven Ganzzahl, die n
angibt, wie viele Minuten seit dem Einschalten der Lava-Lampe vergangen sind, wird ein zufälliger Status der Lava-Lampe basierend auf Ganzzahlen auf fünf Ebenen ausgegeben.
Für diese Herausforderung sagen wir, dass die Lava-Lampe insgesamt 1000 Einheiten Wachs enthält, und wir haben fünf Ebenen, in denen das Wachs sein kann.
1) Wenn n
der Wert unter 45 liegt, heizt die Lava-Lampe immer noch auf, sodass der Ausgang vier leere Zeilen mit 1000
unten aufweist:
1000
2) Befindet n
sich [45, 60)
die Lava-Lampe im Bereich, hat sich die Temperatur so weit erhöht, dass sich das Wachs bewegen kann, aber noch nicht sehr hoch. Das Wachs kann bis einschließlich zur dritten Stufe reichen.
3) Wenn n
ist 60
oder höher ist , kann das Wachs bei einem der fünf Stufen sein.
Wenn Sie also eine positive Ganzzahl n
als Eingabe angeben , geben Sie einen zufälligen Zustand unter Berücksichtigung der drei oben genannten Regeln aus.
Hier sind einige Beispielausgaben:
Mögliche Ausgänge für jeden n
, der ist >= 45
:
523
106
371
913
87
Mögliche Ausgänge für jeden n
, der ist >= 60
:
73
113
312
5
497
284
55
637
24
Konstante Ausgabe dafür n
ist <= 44
(und mögliche Ausgabe für jede n
):
1000
Herausforderungsregeln:
- Es kann leere Zeilen geben, auch wenn die darüber liegende Ebene nicht leer ist.
- Nur
0
ist in keiner Zeile erlaubt. Sollte stattdessen leer sein. - Die Ausgabe ist etwas flexibel. Sie können eine Liste / ein Array von Zeichenfolgen / Objekten anstelle des oben beschriebenen Ergebnisses mit Zeilenumbruch ausgeben. Der Grund, warum ich Strings / Objekte sage, liegt in der obigen Regel. Eine leere Zeile sollte sein
""
,null
,[]
usw., kann aber nicht sein0
oder eine negative ganze Zahl ist (noch kann es seinfalse
) (Ie["", "", 913, "", 87]
fürn >= 45
). Sie können auch die Ausgabe umkehren (dh1000\n\n\n\n
anstelle von\n\n\n\n1000
oder[87, null, 913, null, null]
anstelle von[null, null, 913, null, 87]
). - Die Zahlen sollten alle ganze Zahlen sein. Es kann sich um Dezimalstellen mit einem
0
Dezimalwert handeln, aber keine der Zahlen sollte Dezimalstellen haben, und die Ganzzahlen sollten immer exakt summieren1000
. - Alle möglichen zufälligen Ausgaben, die auf basieren,
n
sollten eine Wahrscheinlichkeit ungleich Null haben. - Eine abschließende neue Zeile (also sechs Ausgabezeilen) ist zulässig.
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methoden mit den richtigen Parametern und vollständige Programme vom Rückgabetyp verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu.
- Außerdem wird dringend empfohlen, eine Erklärung für Ihre Antwort hinzuzufügen.
0
einer negativen Zahl oder sein false
.
n < 60
?
n < 45
ist jedoch nur 1 Ebene gefüllt (oben oder unten, je nachdem, in welcher Reihenfolge Sie es ausgeben) 1000
. Mit 45 <= n < 60
drei der fünf und mit n >= 60
allen fünf. Die Ausgabe enthält jedoch immer fünf Zeilen.