前書き:
私は誰もが溶岩ランプが何であるかを知っていると思いますが、彼らが知らない場合のために:
それらは基本的に半透明の液体にワックスを含むガラス管です。ランプをオンにすると、下部が加熱され、密度が変化し、ワックスが上部に浮き上がります。それが冷えると、再び落ちて、上記の効果を引き起こします。
通常、ランプのベースが固体ワックスを液体ワックスに変えるのに十分な温度に上昇するのに約45〜60分かかります(ランプが室温の場所にある場合)。
Wikipediaの詳細については、上記のテキストのソースとしても使用されています。
チャレンジ:
n
Lava Lampをオンにしてから経過した分数を示す正の整数を指定すると、5レベルの整数に基づいてLava Lampのランダムな状態を出力します。
この挑戦のために、溶岩ランプには合計で1000単位のワックスが含まれており、ワックスが存在できる5つのレベルがあると言います。
1)n
が45未満の場合、Lavaランプはまだ加熱されているため、出力は1000
下部に4つの空の行があります。
1000
2)n
が範囲内に[45, 60)
ある場合、Lava Lampはワックスが動き回るのに十分な温度に上昇していますが、まだそれほど高くはありません。ワックスは、第3レベルまで到達できます。
3)の場合がn
ある60
以上、ワックスは、5つのレベルのいずれかであることができます。
したがってn
、入力として正の整数を指定すると、上記の3つのルールを考慮してランダムな状態を出力します。
出力の例を次に示します。
任意のための可能な出力n
です>= 45
。
523
106
371
913
87
任意のための可能な出力n
です>= 60
。
73
113
312
5
497
284
55
637
24
n
そのための一定の出力は<= 44
(およびで可能な出力n
)です:
1000
チャレンジルール:
- 上のレベルが空でない場合でも、空の行がある場合があります。
- ただ、
0
任意の行に許可されていません。代わりに空にする必要があります。 - 出力は多少柔軟です。上記のように改行で区切られた結果の代わりに、文字列/オブジェクトのリスト/配列を出力できます。私が文字列/オブジェクトと言う理由は、上記のルールによるものです。空行があるべきである
""
、null
、[]
、等、しかしすることができない0
、または負の整数(またそれができるfalse
(IE)["", "", 913, "", 87]
のためにn >= 45
)。出力を逆にすることもできます(つまり、の代わり1000\n\n\n\n
に、\n\n\n\n1000
またはの[87, null, 913, null, null]
代わりに[null, null, 913, null, 87]
)。 - 数字はすべて整数でなければなりません。には小
0
数値としての小数を使用できますが、どの数値にも小数桁を含めることはできず、整数の合計は常に正確になり1000
ます。 - に基づくすべての可能なランダム出力
n
は、ゼロ以外の確率で発生するはずです。 - 末尾の改行(つまり、6行の出力がある)が許可されます。
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - 回答には標準の規則が適用されるため、STDIN / STDOUT、適切なパラメーターと戻り値型、完全なプログラムを備えた関数/メソッドを使用できます。あなたの電話。
- デフォルトの抜け穴は禁止されています。
- 可能であれば、コードのテストへのリンクを追加してください。
- また、回答の説明を追加することを強くお勧めします。
0
、負の数、または以外の任意の値を指定できますfalse
。
n < 60
ですか?
n < 45
のみ1レベルである、(上または下に順序を出力することに依存する)が充填されています1000
。45 <= n < 60
5の3、および持つn >= 60
すべての5つ。ただし、出力には常に5つの「行」が含まれます。