บทนำ:
ฉันคิดว่าทุกคนรู้ว่าโคมไฟลาวาคืออะไร แต่ในกรณีที่พวกเขาไม่ได้:
โดยพื้นฐานแล้วพวกมันเป็นหลอดแก้วที่บรรจุขี้ผึ้งในของเหลวโปร่งแสง ส่วนด้านล่างถูกทำให้ร้อนเมื่อเปิดหลอดไฟทำให้เกิดการเปลี่ยนแปลงของความหนาแน่นและทำให้ขี้ผึ้งลอยขึ้นไปด้านบน เมื่อมันเย็นตัวลงมันจะตกลงมาอีกครั้งทำให้เกิดผลกระทบที่เราเห็นด้านบน
โดยปกติจะใช้เวลาประมาณ 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ทั้งห้า แต่ผลลัพธ์จะมีห้าบรรทัดเสมอ
