5
จำลองหุ่นยนต์เซลลูล่าร์ 1D ใด ๆ
ความท้าทาย คุณต้องเขียนโปรแกรมที่สมบูรณ์ซึ่งใช้ตัวเลขเจ็ดตัวจาก STDIN และพิมพ์ประวัติสองมิติของหุ่นยนต์อัตโนมัติ (CA) ไปยัง STDOUT นี่คือรหัสกอล์ฟ การจัดรูปแบบ อินพุตอินพุตจะเป็นเจ็ดจำนวนเต็ม / สตริงคั่นด้วยเครื่องหมายจุลภาค หมายเลขแรกคือจำนวนของกฎตามรหัส Wolfram (ชื่อมาตรฐานสำหรับแต่ละกฎ) ประการที่สองคือการกำหนดค่าเริ่มต้นเริ่มต้น ที่สามและสี่อธิบายรูปแบบและจำนวนครั้งที่ควรผนวกเข้ากับด้านซ้ายของการกำหนดค่าเริ่มต้น เป็นช่องว่างภายใน ที่ห้าและหกทำเช่นเดียวกันสำหรับด้านขวา ตัวเลขสุดท้ายคือจำนวนรุ่นที่รันการจำลอง 90,11,0,4,0,4,5ดังนั้นตัวอย่างของการป้อนข้อมูลเป็น นี้ควรบอกโปรแกรมที่คุณกำลังเรียกใช้กฎ 90 นอกจากนี้ยังควรบอกโปรแกรมที่คุณต้องการกำหนดค่าเริ่มต้นที่จะ11มีสตริง0ผนวก 4 0000110000ครั้งเพื่อให้ปลายทั้งสองเพื่อให้รูปแบบเริ่มต้นที่เกิดขึ้นจริง นอกจากนี้ยังบอกให้โปรแกรมของคุณรันการจำลองนี้เป็นเวลา 5 ชั่วอายุ เอาท์พุทโปรแกรมของคุณควรพิมพ์อาร์เรย์ทั้งหมดของเซลล์แต่ละรุ่น (คั่นด้วยบรรทัดใหม่) เพื่อให้เอาต์พุตเป็นไดอะแกรมสเปซ - เวลาของ CA สำหรับแต่ละรุ่นสถานะของแต่ละเซลล์จะถูกกำหนดโดยสถานะและสถานะของเซลล์ไปทางซ้ายและขวาทันทีตามกฎที่ให้ไว้เป็นอินพุต การจำลองควรล้อมรอบขอบ สิ่งแรกที่พิมพ์ควรเป็นอาร์เรย์เริ่มต้นเป็น gen 0 อินพุต90,11,0,4,0,4,5ควรส่งผลให้ผลลัพธ์ต่อไปนี้ตรงตามที่เป็นไปได้ 0000110000 0001111000 0011001100 0111111110 1100000011 0110000110 โปรดสังเกตว่าสถานะเริ่มต้นจะไม่รวมอยู่ในห้าชั่วอายุคน สังเกตว่าการจำลองล้อมรอบขอบ ตัวอย่างเพิ่มเติม …