บทนำ:
ฉันคิดว่าทุกคนรู้ว่าโคมไฟลาวาคืออะไร แต่ในกรณีที่พวกเขาไม่ได้:
โดยพื้นฐานแล้วพวกมันเป็นหลอดแก้วที่บรรจุขี้ผึ้งในของเหลวโปร่งแสง ส่วนด้านล่างถูกทำให้ร้อนเมื่อเปิดหลอดไฟทำให้เกิดการเปลี่ยนแปลงของความหนาแน่นและทำให้ขี้ผึ้งลอยขึ้นไปด้านบน เมื่อมันเย็นตัวลงมันจะตกลงมาอีกครั้งทำให้เกิดผลกระทบที่เราเห็นด้านบน
โดยปกติจะใช้เวลาประมาณ 45-60 นาทีสำหรับฐานของหลอดไฟที่จะเพิ่มอุณหภูมิสูงพอที่จะเปลี่ยนขี้ผึ้งให้เป็นขี้ผึ้งเหลว (หากหลอดไฟตั้งอยู่ในพื้นที่ที่อุณหภูมิห้อง)
ข้อมูลเพิ่มเติมเกี่ยวกับ Wikipedia ซึ่งใช้เป็นแหล่งข้อมูลสำหรับข้อความบางส่วนด้านบน
ท้าทาย:
ระบุจำนวนเต็มบวกที่n
ระบุจำนวนนาทีที่ผ่านไปนับตั้งแต่เราเปิดหลอด Lava แล้วส่งออกสถานะสุ่มของหลอด Lava ตามจำนวนเต็มห้าระดับ
สำหรับความท้าทายนี้เราจะบอกว่าโคมไฟลาวามีขี้ผึ้งทั้งหมด 1,000 หน่วยและเรามีห้าระดับที่ขี้ผึ้งสามารถอยู่ได้
1) หากn
ต่ำกว่า 45 โคมไฟลาวายังคงร้อนขึ้นดังนั้นเอาต์พุตจะเป็นสี่บรรทัดว่าง1000
ที่ด้านล่าง:
1000
2) หากn
อยู่ในช่วง[45, 60)
ที่หลอดลาวามีอุณหภูมิสูงขึ้นพอที่ขี้ผึ้งจะเคลื่อนที่ไปรอบ ๆ แต่ยังไม่สูงมาก ขี้ผึ้งสามารถเข้าถึงและรวมถึงระดับที่สาม
3) ถ้าn
มี60
หรือสูงกว่าขี้ผึ้งสามารถอยู่ในระดับใดก็ได้ในห้าระดับ
ดังนั้นเมื่อได้รับจำนวนเต็มบวกn
เป็นอินพุตเราจะแสดงสถานะสุ่มโดยคำนึงถึงกฎสามข้อข้างต้น
นี่คือตัวอย่างผลลัพธ์:
ผลลัพธ์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
ควรมีโอกาสเกิดขึ้นที่ไม่เป็นศูนย์ - บรรทัดใหม่ที่ต่อท้าย (อนุญาตให้มีเอาต์พุตหกบรรทัด)
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ
อย่าปล่อยให้ภาษาที่ใช้รหัสกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ codegolfing พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานจะใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชั่น / วิธีการที่มีพารามิเตอร์ที่เหมาะสมและชนิดผลตอบแทนโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
- นอกจากนี้ขอแนะนำให้เพิ่มคำอธิบายสำหรับคำตอบของคุณ
0
false
n < 60
?
n < 45
เพียง 1 ระดับที่เต็มไปอย่างไร (บนหรือด้านล่างขึ้นอยู่กับคำสั่งที่คุณส่งออกไปใน) 1000
ซึ่งเป็น กับ45 <= n < 60
สามในห้าและกับn >= 60
ทั้งห้า แต่ผลลัพธ์จะมีห้าบรรทัดเสมอ