คำถามติดแท็ก code-challenge

ความท้าทายของรหัสคือการแข่งขันสำหรับวิธีสร้างสรรค์ในการแก้ปริศนาการเขียนโปรแกรมด้วยเกณฑ์การชนะอย่างมีเป้าหมายซึ่งไม่ครอบคลุมด้วยแท็กให้คะแนนอื่น ๆ (เช่นรหัส - กอล์ฟ)

6
สร้างเกมทำงานของ Tetris ใน Game of Life ของ Conway
นี่คือคำถามเชิงทฤษฎี - คำถามหนึ่งที่ไม่สามารถหาคำตอบได้ง่ายไม่ว่าในกรณีใด ๆ แม้แต่คำถามเล็กน้อยก็ตาม ใน Game of Life ของ Conway มีการสร้างเช่นmetapixelซึ่งอนุญาตให้ Game of Life จำลองระบบกฎ Game-of-Life อื่น ๆ ได้เช่นกัน นอกจากนี้ยังเป็นที่รู้จักกันว่าเกมแห่งชีวิตนั้นทัวริงสมบูรณ์ งานของคุณคือการสร้างหุ่นยนต์อัตโนมัติโดยใช้กฎของเกมชีวิตของคอนเวย์ที่จะอนุญาตให้เล่นเกม Tetris โปรแกรมของคุณจะได้รับการป้อนข้อมูลโดยการเปลี่ยนสถานะของหุ่นยนต์ด้วยตนเองในรุ่นที่เฉพาะเจาะจงเพื่อเป็นตัวแทนของการขัดจังหวะ (เช่นการย้ายชิ้นส่วนทางซ้ายหรือขวาวางมันหมุนหมุนหรือสร้างชิ้นใหม่เพื่อวางลงบนตะแกรง) จำนวนรุ่นที่เฉพาะเจาะจงเป็นเวลารอคอยและแสดงผลที่ใดที่หนึ่งบนหุ่นยนต์ ผลลัพธ์ที่แสดงต้องคล้ายกับตาราง Tetris จริงอย่างเห็นได้ชัด โปรแกรมของคุณจะได้รับคะแนนตามสิ่งต่าง ๆ ดังต่อไปนี้ตามลำดับ (ด้วยเกณฑ์ที่ต่ำกว่าที่ทำหน้าที่เป็นตัวแบ่งสำหรับเกณฑ์ที่สูงกว่า): ขนาดกล่องที่ถูกผูกไว้ - กล่องสี่เหลี่ยมที่มีพื้นที่ขนาดเล็กที่สุดซึ่งบรรจุโซลูชันที่ให้ไว้ได้รับรางวัลทั้งหมด การเปลี่ยนแปลงเล็ก ๆ น้อย ๆ ในการป้อนข้อมูล - เซลล์ที่น้อยที่สุด (สำหรับกรณีที่แย่ที่สุดในหุ่นยนต์ของคุณ) ที่จะต้องมีการปรับด้วยตนเองสำหรับการชนะการขัดจังหวะ การประมวลผลที่เร็วที่สุด - ชั่วอายุที่น้อยที่สุดเพื่อก้าวไปหนึ่งขีดในการจำลองการชนะ จำนวนเซลล์เริ่มต้นสด - …

1
สร้างนาฬิกาดิจิตอลใน Game of Life ของ Conway
งานของคุณคือสร้างแบบจำลอง Game of Life ซึ่งเป็นตัวแทนของนาฬิกาดิจิตอลซึ่งตอบสนองคุณสมบัติต่อไปนี้: นาฬิกาแสดงชั่วโมงและนาทีในทศนิยม (เช่น12:00, 3:59, 7:24) กับรัฐที่แตกต่างกันสำหรับแต่ละ 1,440 นาทีของวัน - ทั้งชั่วโมงจะไป 0-23 หรือ 1-12 มีตัวบ่งชี้ PM รูปแบบเป็นระยะและรัฐวนรอบโดยไม่มีการโต้ตอบจากภายนอก การอัพเดตนาทีตามช่วงเวลาปกติ - จากการเปลี่ยนหนึ่งนาทีเป็นครั้งต่อไปจะมีจำนวนรุ่นเท่ากัน ผู้สังเกตการณ์ที่ไม่ระบุชื่อสามารถบอกได้ทันทีว่าหน้าจอควรเป็นนาฬิกาดิจิตอล โดยเฉพาะอย่างยิ่งสิ่งนี้ก่อให้เกิด: ตัวเลขสามารถมองเห็นและแยกแยะได้ชัดเจน คุณต้องสามารถบอกด้วยความมั่นใจได้อย่างรวดเร็วว่าจะแสดงเวลาใด มีการอัพเดทตัวเลข หมายเลขใหม่แต่ละหมายเลขจะปรากฏในตำแหน่งเดียวกับหมายเลขก่อนหน้าและไม่มีการเคลื่อนไหวใด ๆ ของกล่องขอบเขตของตัวเลข (โดยเฉพาะอย่างยิ่งตัวเลขไม่ได้มี 10 หลักที่แตกต่างกันในสถานที่ต่าง ๆ ที่ได้รับการเปิดเผยทุกครั้งที่มีการเปลี่ยนแปลงตัวเลข) ตัวเลขจะปรากฏติดกันโดยไม่มีช่องว่างระหว่างกันมากเกินไป โปรแกรมของคุณจะได้คะแนนจากสิ่งต่าง ๆ ดังต่อไปนี้ตามลำดับ (ด้วยเกณฑ์ที่ต่ำกว่าซึ่งทำหน้าที่เป็นตัวแบ่งสำหรับเกณฑ์ที่สูงกว่า): ขนาดกล่องที่ถูกผูกไว้ - กล่องสี่เหลี่ยมที่มีพื้นที่ขนาดเล็กที่สุดซึ่งบรรจุโซลูชันที่ให้ไว้ได้รับรางวัลทั้งหมด การดำเนินการที่เร็วที่สุด - ชั่วอายุคนที่น้อยที่สุดเพื่อความก้าวหน้าหนึ่งนาที จำนวนเซลล์เริ่มต้นสด - จำนวนที่น้อยลงชนะ …

17
สร้างคอมไพเลอร์ระเบิด
บทนำ คุณอาจคุ้นเคยกับzip bombs , XML bombsและอื่น ๆ กล่าวง่ายๆคือมันเป็นไฟล์ขนาดเล็ก (ค่อนข้าง) ซึ่งให้ผลลัพธ์มหาศาลเมื่อตีความโดยซอฟต์แวร์ไร้เดียงสา ความท้าทายที่นี่คือการใช้คอมไพเลอร์ในทางที่ผิด ท้าทาย เขียนซอร์สโค้ดที่มีขนาด 512 ไบต์หรือน้อยกว่าและคอมไพล์ลงในไฟล์ที่มีพื้นที่ว่างมากที่สุด ไฟล์ที่ส่งออกที่ใหญ่ที่สุดชนะ! กฎระเบียบ ตกลงดังนั้นจึงมีคำอธิบายคำจำกัดความและข้อ จำกัด ที่สำคัญบางประการ ผลลัพธ์ของการคอมไพล์ต้องเป็นไฟล์ELF , Windows Portable Executable (.exe), หรือ bytecode เสมือนสำหรับ JVM หรือ CLR ของ. Net (CLTC เสมือนจริงประเภทอื่น ๆ ก็น่าจะตกลงถ้าถาม) อัปเดต: เอาต์พุตของ Python .pyc / .pyo ก็มีผลเช่นกัน หากภาษาที่คุณเลือกไม่สามารถรวบรวมได้โดยตรงในรูปแบบใดรูปแบบหนึ่งก็อนุญาตให้ทำการ transpilation ตามด้วยการคอมไพล์ได้ด้วย ( อัปเดต: …

8
Upgoat หรือ Downgoat
เมื่อพิจารณาถึงภาพของแพะโปรแกรมของคุณควรพยายามระบุว่าแพะนั้นกลับหัวหรือไม่ ตัวอย่าง นี่คือตัวอย่างของสิ่งที่อินพุตอาจเป็น ไม่ใช่อินพุตจริง การป้อนข้อมูล: เอาท์พุท: Downgoat สเป็ค โปรแกรมของคุณควรมีขนาดสูงสุด 30,000 ไบต์ การป้อนข้อมูลจะมีแพะเต็ม ภาพจะมีแพะอยู่เสมอ ถ้าแพะกลับหัวให้เอาออกDowngoatเป็นอย่างอื่นUpgoat การป้อนข้อมูลจะเป็นอย่างไรคุณสามารถถ่ายภาพเป็นอินพุต (ชื่อไฟล์ base64 ของภาพ ฯลฯ ) อย่าพึ่งพาชื่อรูปภาพหรือข้อมูลเมตาอื่น ๆ ที่มีคำว่า "Upgoat" หรือ "Downgoat" เนื่องจากชื่อไฟล์ส่วนสำคัญใช้สำหรับการอ้างอิงเท่านั้น กรุณาอย่า hardcode มันน่าเบื่อฉันไม่สามารถบังคับใช้ได้อย่างสมบูรณ์ แต่ฉันสามารถถามได้ดี กรณีทดสอบ สรุปสาระสำคัญที่มีภาพ เริ่มต้นด้วยภาพdowngoatได้Downgoatส่งออกและเริ่มต้นด้วยภาพที่upgoatมีUpgoatเอาท์พุท ชุดทดสอบชุดที่สอง ตรวจสอบให้แน่ใจว่าได้ทดสอบภาพของคุณในทุกกรณีทดสอบ ภาพเหล่านี้เป็นjpgs ขนาดภาพจะแตกต่างกัน แต่ไม่ว่ามาก หมายเหตุ:อาจมีการเพิ่มกรณีทดสอบสองสามข้อก่อนยอมรับคำตอบเพื่อหลีกเลี่ยงคำตอบว่า hardcode ใดและเพื่อตรวจสอบประสิทธิภาพทั่วไปของโปรแกรม คะแนนโบนัสสำหรับการแก้ไขภาพแทนตัวของฉัน: P เกณฑ์การให้คะแนน คะแนนคือเปอร์เซ็นต์ซึ่งสามารถคำนวณได้โดย: (number_correct / total) * …

23
เขียน Moby Dick ประมาณ
นี่คือไฟล์ข้อความ ASCII 1.2Mbที่มีข้อความของMoby-Dickของ Herman Melville หรือปลาวาฬ งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่น (หรือคลาส ฯลฯ - ดูด้านล่าง) ซึ่งจะให้ไฟล์นี้ทีละตัวอักษรและในแต่ละขั้นตอนจะต้องเดาตัวละครต่อไป นี่คือรหัสที่ท้าทาย คะแนนของคุณจะเป็น 2*L + E โดยที่Lขนาดของการส่งของคุณเป็นไบต์และEเป็นจำนวนอักขระที่คาดเดาไม่ถูกต้อง คะแนนต่ำสุดชนะ รายละเอียดเพิ่มเติม การส่งของคุณจะเป็นโปรแกรมหรือฟังก์ชั่น (ฯลฯ ) ที่จะถูกเรียกหรือเรียกใช้หรือส่งข้อมูลหลายครั้ง (1215235 ครั้งเป็นที่แน่นอน.) เมื่อมีการเรียกร้องให้n วันเวลาที่มันจะได้รับn THตัวละครwhale.txtหรือwhale2.txtและจะต้องส่งออกคาดเดาสำหรับ ( 1 + n ) THตัวอักษร Eส่วนประกอบของคะแนนของมันจะเป็นจำนวนรวมของตัวละครว่ามันคาดเดาไม่ถูกต้อง การส่งส่วนใหญ่จะต้องเก็บสถานะบางอย่างในระหว่างการร้องขอเพื่อให้พวกเขาสามารถติดตามจำนวนครั้งที่พวกเขาได้รับการเรียกและสิ่งที่อินพุตก่อนหน้านี้ คุณสามารถทำได้โดยการเขียนไปยังไฟล์ภายนอกโดยใช้staticหรือตัวแปรทั่วโลกโดยการส่งชั้นเรียนมากกว่าฟังก์ชั่นการใช้รัฐ monad หรือสิ่งอื่นที่ทำงานให้กับภาษาของคุณ การส่งของคุณจะต้องมีรหัสใด ๆ ที่จำเป็นในการเริ่มต้นสถานะของมันก่อนการขอร้องครั้งแรก โปรแกรมของคุณควรรันแบบไม่แน่นอนเพื่อที่จะทำการเดาแบบเดียวกันโดยให้อินพุตเหมือนกัน (และจะได้รับคะแนนเดียวกันเสมอ) คำตอบของคุณจะต้องมีไม่เพียง แต่การส่งของคุณ แต่ยังรวมถึงรหัสที่คุณใช้ในการคำนวณEคะแนนส่วนนั้นด้วย ไม่จำเป็นต้องเขียนในภาษาเดียวกับที่คุณส่งและจะไม่ถูกนับรวมกับจำนวนไบต์ คุณได้รับการสนับสนุนให้อ่านได้ …

30
ฉันต้องการโปรแกรมที่ผู้ใช้ป้อนอาร์เรย์เป็นสองเท่าและโปรแกรมจะเรียงลำดับแถวลำดับ
หมายเหตุ: คำถามนี้ได้รับการแก้ไขอย่างรุนแรงตั้งแต่ฉันโพสต์ครั้งแรกที่นี่ กฎถูกย้ายไปที่นี่อ่านก่อนโพสต์คำตอบใด ๆ เพื่อทำความเข้าใจวัตถุประสงค์ของการนี้ นี่เป็นคำถามแรกที่สร้างขึ้นในหมวดการหมุนรหัส ลองนึกภาพผู้ใช้ที่ขี้เกียจใน Stack Overflow ถามคำถามนี้: ฉันต้องการโปรแกรมที่ผู้ใช้ป้อนอาร์เรย์เป็นสองเท่าและโปรแกรมจะเรียงลำดับแถวลำดับ คุณช่วยบอกรหัสได้ไหม คุณจะสร้างรหัสที่จะหมุนรอบผู้ใช้นี้ได้อย่างไร สร้างชิ้นส่วนของรหัสที่จะเป็นประโยชน์กับโปรแกรมเมอร์ที่ไม่มีประสบการณ์ แต่ไม่มีประโยชน์อย่างเต็มที่ในทางปฏิบัติ ผู้ชนะคือคำตอบที่ได้รับการโหวตมากที่สุดยกเว้นว่าคำตอบนั้นไม่เหมาะสม (สำหรับคุณสมบัติที่เหมาะสมให้ตรวจสอบคำอธิบาย wiki ของแท็ก wiki ของการหมุนโค้ด ) หากคำตอบที่ถูกโหวตขึ้นมากที่สุดก่อนหน้านี้ถูกเอาชนะในอนาคตในจำนวนผู้อัปโหลดหลังจากที่ได้รับการยอมรับคำตอบที่ดีที่สุดใหม่จะได้รับการยอมรับและคำตอบก่อนหน้านี้จะไม่ได้รับการยอมรับ ในกรณีที่เสมอกันฉันจะเลือกผู้ชนะที่จะเป็นคนที่ถูกมัดหรือรออีกสักหน่อย คำตอบที่ไม่มีรหัสไม่มีสิทธิ์ พวกเขาอาจสนุกและได้รับการโหวตสูง แต่พวกเขาจะไม่ได้รับการยอมรับ กฎสามารถพบได้ที่คำอธิบายแท็ก หมายเหตุ: นี่เป็นคำถามการหมุนรหัส กรุณาอย่าใช้คำถามและ / หรือคำตอบอย่างจริงจัง ข้อมูลเพิ่มเติมที่นี่

30
เพ้นท์ Starry Night ตามรหัสในหน่วยความจำ 1kB
หมายเหตุ : Anders Kaseorg ได้รับการยอมรับในตอนนี้เพื่อดึงดูดความสนใจไปยังคำตอบที่ยอดเยี่ยมของเขา แต่ความท้าทายนั้นไม่ได้เกิดขึ้น! ยังคงมีรางวัล 400 แต้มสำหรับทุกคนที่รับคะแนนสูงสุดโดยไม่ต้องใช้การบีบอัดในตัว ด้านล่างนี้เป็นภาพ386x320png ของ Starry Night ของ van Gogh เป้าหมายของคุณคือการทำซ้ำภาพนี้ให้ใกล้เคียงที่สุดเท่าที่จะทำได้ในโค้ดไม่เกิน 1024 ไบต์ สำหรับวัตถุประสงค์ของการท้าทายนี้ความใกล้ชิดของภาพจะถูกวัดโดยความแตกต่างยกกำลังสองในค่าพิกเซล RGB ตามที่อธิบายไว้ด้านล่าง นี่คือรหัสที่ท้าทาย คะแนนจะคำนวณโดยใช้สคริปต์การตรวจสอบด้านล่าง คะแนนต่ำสุดชนะ รหัสของคุณจะต้องเป็นไปตามข้อ จำกัด ต่อไปนี้: มันจะต้องเป็นโปรแกรมที่สมบูรณ์ มันจะต้องส่งออกภาพในรูปแบบที่สามารถอ่านได้โดยสคริปต์ตรวจสอบด้านล่างซึ่งทำงานในเครื่องของฉัน สคริปต์ใช้ไลบรารี PIL ของ Python ซึ่งสามารถโหลดรูปแบบไฟล์ได้หลากหลายรวมถึง png, jpg และ bmp มันจะต้องมีอยู่ในตัวเองอย่างสมบูรณ์โดยไม่ต้องป้อนข้อมูลและไม่โหลดไฟล์ (นอกเหนือจากการนำเข้าห้องสมุดซึ่งได้รับอนุญาต) หากภาษาหรือไลบรารีของคุณมีฟังก์ชั่นที่ส่งออก Starry Night คุณจะไม่ได้รับอนุญาตให้ใช้ฟังก์ชันนั้น มันควรจะทำงานได้อย่างแน่นอนโดยสร้างผลลัพธ์ที่เหมือนกันทุกครั้ง ขนาดของภาพที่ส่งออกจะต้องเป็น 386x320 เพื่อหลีกเลี่ยงข้อสงสัย: คำตอบที่ถูกต้องจะต้องใช้ภาษาโปรแกรมตามกฎ …

30
รับเงินเดือนสูงสุดที่คุณทำได้โดยไม่ใช้ตัวเลข แต่อย่าพูดเกินจริง!
เนื่องจากฉันสมัครงานบางงานที่ผู้ลงโฆษณาไม่ได้ระบุเงินเดือนฉันคิดว่าผู้สัมภาษณ์ที่ชั่วร้ายจะให้โอกาสผู้สมัครตัดสินใจเลือกเงินเดือนของตัวเอง ... โดย "ตีกอล์ฟ"! ดังนั้นมันจะเป็นอย่างนั้น: เขียนรหัสที่แสดงเงินเดือนประจำปีที่คุณต้องการเสนอโดยไม่ใช้ตัวเลข อย่างไรก็ตามความสามารถในการเขียนรหัสย่อเป็นหลักสำคัญของ บริษัท นี้ ดังนั้นพวกเขาจึงใช้บันไดอาวุโสที่แน่นหนา นายจ้างที่เขียนโค้ดที่เป็นขไบต์ยาวสามารถสร้างรายได้สูงสุด ($ 1'000'000 บริการ) · ข -0.75 เรากำลังดู (นี่คือส่วนจำนวนเต็มเพียงเพื่อเหตุผลในการแสดง): 1 byte → $1'000'000 15 bytes → $131'199 2 bytes → $594'603 20 bytes → $105'737 3 bytes → $438'691 30 bytes → $78'011 4 bytes → $353'553 40 bytes → …

30
จำนวนเต็มบวกฐาน 10 ที่เล็กที่สุดที่สามารถพิมพ์ได้โดยโปรแกรมนั้นสั้นกว่า (เป็นตัวอักษร) คืออะไร?
ฉันคิดว่าคำถามดังกล่าวข้างต้นมีความชัดเจน แต่ในกรณี: เขียนโปรแกรมเต็มรูปแบบ (ไม่ใช่แค่ฟังก์ชั่น) ซึ่งจะพิมพ์จำนวนเต็ม 10 ฐานบวกตามด้วยตัวเลือกขึ้นบรรทัดใหม่ โปรแกรมที่ผ่านการรับรองจะเป็นโปรแกรมที่มีเอาต์พุตยาวกว่า (เป็นไบต์ ) กว่าซอร์สโค้ดของโปรแกรมโดยวัดเป็นไบต์ (สมมติว่าการเข้ารหัส ASCII หรือ UTF-8 สำหรับซอร์สโค้ดโปรแกรม) คือรหัสจะต้องสั้นกว่าจำนวนหลักในจำนวนผลลัพธ์ เลขศูนย์นำหน้าไม่อนุญาตภายใต้สถานการณ์ทั้งหมด การนับจำนวนศูนย์นำหน้าทำให้เกิดปัญหาเล็กน้อย การละเว้นศูนย์นำหน้าจะทำให้คำถามซับซ้อน โปรแกรมที่ชนะจะเป็นโปรแกรมที่ผ่านการรับรองซึ่งจะพิมพ์จำนวนเต็มที่มีขนาดเล็กที่สุด ตัวอย่างกระดานแต้มนำ แสดงตัวอย่างรหัส var QUESTION_ID = 67921; var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page; function answersUrl(index) …

30
คุณนับได้สูงแค่ไหน
ท้าทาย: งานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่น / ตัวอย่างให้มากที่สุดเท่าที่จะทำได้โดยแต่ละเอาต์พุต / พิมพ์ / ส่งคืนจำนวนเต็ม โปรแกรมแรกจะต้องส่งออกจำนวนเต็มที่1สอง2และอื่น ๆ คุณไม่สามารถใช้อักขระซ้ำได้ระหว่างโปรแกรม ดังนั้นหากโปรแกรมแรกคือ: x==xคุณไม่สามารถใช้อักขระxและ=อีกครั้งในโปรแกรมอื่น ๆ หมายเหตุ: อนุญาตให้ใช้ตัวอักษรเดียวกันหลาย ๆ ครั้งในโปรแกรมเดียว เกณฑ์การให้คะแนน: ผู้ชนะจะได้รับการส่งที่นับได้สูงสุด ในกรณีที่มีการเสมอกันผู้ชนะจะเป็นผู้ส่งซึ่งใช้จำนวนไบต์น้อยที่สุด กฎ: คุณสามารถใช้ภาษาเดียวสำหรับจำนวนเต็มทั้งหมดเท่านั้น อนุญาตให้มีตัวอย่าง เพื่อให้มันยุติธรรมตัวละครทุกตัวจะต้องได้รับการเข้ารหัสโดยใช้ไบต์เดียวในภาษาที่คุณเลือก ผลลัพธ์จะต้องเป็นทศนิยม คุณไม่สามารถส่งออกด้วยสัญกรณ์ทางวิทยาศาสตร์หรือรูปแบบอื่น ๆ การแสดงผลลอยตกลงตราบใดที่ตัวเลขทั้งหมดที่แสดง0ไว้ข้างหลังจุดทศนิยมเป็น ดังนั้นจึง4.000เป็นที่ยอมรับ ยอมรับความไม่ถูกต้องเนื่องจาก FPA ตราบเท่าที่ไม่ได้แสดงในเอาต์พุต ans =อนุญาตให้นำหน้าและต่อท้ายช่องว่างและขึ้นบรรทัดใหม่ได้ คุณอาจไม่สนใจ STDERR ตราบใดที่เอาต์พุตที่ถูกต้องถูกส่งกลับไปยัง STDOUT คุณอาจเลือกที่จะส่งออกจำนวนเต็มไปยัง STDERR แต่เฉพาะในกรณีที่ STDOUT ว่างเปล่า สัญลักษณ์ภาษาอิสระ (เช่นLenguage ) ไม่ได้รับอนุญาต …

16
ใช้เกมแห่งชีวิตกับอะไรก็ได้ แต่กริดปกติ
เกมแห่งชีวิตของ Conway นั้นเล่นได้เกือบทุกตารางสี่เหลี่ยม แต่ไม่จำเป็นต้องเป็น เขียนโปรแกรมที่ใช้กฎมาตรฐานเซลล์ใกล้เคียงจากเกมแห่งชีวิตของคอนเวย์บนกระเบื้องสองมิติของระนาบแบบยุคลิดที่ไม่ได้เรียงเป็นรูปสี่เหลี่ยมจตุรัสสามเหลี่ยมหรือรูปหกเหลี่ยมเป็นประจำ โดยเฉพาะการปูกระเบื้องที่คุณเลือก ... ต้องมีอย่างน้อย 2 ( แต่หลายขีด) มีรูปทรงที่แตกต่างกันprototiles รูปร่างที่แตกต่างกันอาจถูกปรับขนาดหรือหมุนเวอร์ชั่นของกันและกัน พวกเขาจะต้องสามารถต่อระนาบทั้งหมดได้โดยไม่ต้องออกจากรู พวกเขาจะต้องเป็นรูปหลายเหลี่ยมอย่างง่ายที่มีขอบเขต จำกัด (อาจไม่ง่ายอย่างอ่อน) จะต้องไม่แตกต่างจากกริดสี่เหลี่ยมสามเหลี่ยมและหกเหลี่ยม ไม่อนุญาตให้ปูกระเบื้องใด ๆ ที่เป็นรูปสี่เหลี่ยมจัตุรัสสามเหลี่ยมหรือหกเหลี่ยมแบบปกติ (คุณยังสามารถใช้สี่เหลี่ยม / สามเหลี่ยม / หกเหลี่ยมในการเอียงอื่น ๆ ) เส้นขอบระหว่างสอง prototiles อาจมีหลายขอบและจุดยอด แต่มันจะต้องต่อเนื่อง การปูกระเบื้องของคุณอาจเป็นระยะหรือเป็นช่วง ๆ แต่เมื่อขยายให้ครอบคลุมทั่วทั้งระนาบโปรโตไทล์แต่ละอันจะต้องปรากฏขึ้นหลายครั้งอย่างไม่สิ้นสุด (ดังนั้นไม่มี "hardcoding" บางส่วนของกระเบื้องของคุณเพื่อช่วยให้ได้คะแนนพิเศษด้านล่าง) prototiles ของคุณแต่ละเซลล์จะแสดงเซลล์ Game of Life หนึ่งเซลล์ซึ่งอยู่ใกล้เคียงเซลล์อื่น: เซลล์ที่ใช้ขอบหรือจุดยอดใด ๆถือเป็นเพื่อนบ้าน เซลล์ที่แบ่งปันขอบหรือจุดยอดหลาย ๆ เส้นจะยังคงนับรวมอยู่ที่เพื่อนบ้านอื่น ๆ …

30
พิมพ์ได้จำนวนมากที่สุด
เป้าหมายของคุณคือการเขียนโปรแกรมที่พิมพ์ตัวเลข ยิ่งจำนวนมากเท่าไหร่คุณก็ยิ่งได้คะแนนมากขึ้นเท่านั้น แต่ระวังด้วย! ความยาวของรหัสนั้นมี จำกัด และหนักมากในฟังก์ชั่นการให้คะแนน จำนวนพิมพ์ของคุณจะถูกหารด้วยสามของจำนวนไบต์ที่คุณใช้สำหรับการแก้ปัญหาของคุณ สมมติว่าคุณพิมพ์10000000และรหัสของคุณมีความ100ยาวไบต์ 10000000 / 100^3 = 10คะแนนสุดท้ายของคุณจะ มีกฎอื่น ๆ ที่ต้องปฏิบัติตามเพื่อให้ความท้าทายนี้ยากขึ้นเล็กน้อย คุณไม่สามารถใช้ตัวเลขในรหัสของคุณ (0123456789); คุณสามารถใช้คณิตศาสตร์ / กายภาพ / ฯลฯ ค่าคงที่แต่ถ้าพวกมันน้อยกว่า 10 (เช่นคุณสามารถใช้Pi ~ = 3.14 แต่คุณไม่สามารถใช้ค่าคงที่ Avogadro = 6e23) อนุญาตให้เรียกซ้ำได้แต่จำนวนที่สร้างต้องมีจำนวน จำกัด (ดังนั้นอนันต์จึงไม่ได้รับการยอมรับว่าเป็นวิธีแก้ปัญหาโปรแกรมของคุณจำเป็นต้องยุติอย่างถูกต้องโดยสมมติเวลาและหน่วยความจำไม่ จำกัด และสร้างผลลัพธ์ที่ร้องขอ); คุณไม่สามารถใช้การดำเนินการ*(ทวีคูณ), /(หาร), ^(กำลัง) หรือวิธีอื่นใดในการบ่งชี้พวกเขา (เช่น2 div 2ไม่ได้รับอนุญาต); โปรแกรมของคุณสามารถส่งออกจำนวนมากกว่าหนึ่งถ้าคุณต้องการที่จะทำ เฉพาะคะแนนสูงสุดเท่านั้นที่จะนับเพื่อให้คะแนน อย่างไรก็ตามคุณสามารถเชื่อมสตริงได้: หมายความว่าลำดับใด ๆ …

24
Lab Rat Race: การออกกำลังกายในขั้นตอนวิธีเชิงพันธุกรรม
นี่คือความท้าทายรายปักษ์ # 3 ชุดรูปแบบ: อัลกอริทึมทางพันธุกรรม ความท้าทายนี้เป็นส่วนหนึ่งของการทดลอง เราต้องการที่จะเห็นสิ่งที่เราสามารถทำได้ท้าทายด้วยปัญญาขั้นตอนวิธีทางพันธุกรรม ไม่ใช่ทุกอย่างอาจจะดีที่สุด แต่เราพยายามอย่างดีที่สุดเพื่อให้สามารถเข้าถึงได้ ถ้าสิ่งนี้ใช้ได้ผลใครจะรู้ว่าเราจะเห็นอะไรในอนาคต อาจเป็น King of the Hill ทางพันธุกรรมหรือไม่? สเป็คค่อนข้างยาว! เราได้พยายามแยกข้อมูลจำเพาะออกเป็นพื้นฐาน - ขั้นต่ำเปล่าที่คุณต้องรู้เพื่อเริ่มเล่นกับกรอบงานและส่งคำตอบ - และรายละเอียด The Gory - ข้อมูลจำเพาะทั้งหมดพร้อมรายละเอียดทั้งหมดเกี่ยวกับตัวควบคุมตามที่คุณ สามารถเขียนของคุณเอง หากคุณมีคำถามใด ๆอย่าลังเลที่จะเข้าร่วมกับเราในการแชท! คุณเป็นนักวิจัยด้านจิตวิทยาพฤติกรรม เย็นวันศุกร์และคุณและเพื่อนร่วมงานของคุณตัดสินใจที่จะสนุกและใช้หนูทดลองของคุณเพื่อการแข่งขันหนูตัวน้อย ในความเป็นจริงก่อนที่เราจะได้รับความรู้สึกทางอารมณ์เกินไปที่จะพวกเขาให้เรียกพวกเขาตัวอย่าง คุณได้สร้างลู่วิ่งเล็ก ๆ น้อย ๆ สำหรับชิ้นงานทดสอบและเพื่อให้น่าสนใจยิ่งขึ้น ตอนนี้ตัวอย่างของคุณยังคงเป็นหนู ... พวกมันไม่รู้ว่ากับดักหรือเครื่องเคลื่อนย้ายมวลสารคืออะไร สิ่งที่พวกเขาเห็นคือบางสิ่งที่มีสีต่างกัน พวกเขายังไม่มีหน่วยความจำใด ๆ - สิ่งที่พวกเขาทำได้คือตัดสินใจตามสภาพแวดล้อมปัจจุบัน ฉันเดาว่าการคัดเลือกโดยธรรมชาติจะเลือกตัวอย่างที่รู้วิธีหลีกเลี่ยงกับดักจากสิ่งที่ไม่ทำ (การแข่งขันนี้จะต้องใช้เวลาสักครู่ ... ) ให้เกมเริ่มต้นขึ้น! …

30
อักขระน้อยที่สุด (ชัดเจน) สำหรับทัวริงครบถ้วน
สรุป: สำหรับภาษาใดก็ตามตัวละครที่เป็นเอกลักษณ์จำนวนน้อยที่สุดสำหรับภาษาของคุณที่จะถูกทำให้ทัวริงสมบูรณ์คืออะไร? ท้าทาย: สำหรับภาษาที่คุณเลือกให้ค้นหาชุดย่อยที่เล็กที่สุดของอักขระที่ทำให้ภาษาของคุณสมบูรณ์แบบทัวริง คุณสามารถใช้ชุดอักขระซ้ำได้หลายครั้งตามที่คุณต้องการ ตัวอย่าง: JavaScript: +!()[]( http://www.jsfuck.com ) Brainfuck: +<>[](ถือว่าเป็นขนาดเซลล์ห่อ) Python 2: ()+1cehrx(ทำจากสคริปต์เหมือนexec(chr(1+1+1)+chr(1))) เกณฑ์การให้คะแนน: ความท้าทายนี้จะได้คะแนนในตัวละครไม่ไบต์ ตัวอย่างเช่นคะแนนสำหรับตัวอย่างคือ 6, 5 และ 9 หมายเหตุ: ความท้าทายนี้แตกต่างจากผู้อื่นในแง่ที่ว่าคุณมีเพียงภาษาของคุณที่จะทำให้ทัวริงสมบูรณ์ (ไม่จำเป็นต้องสามารถใช้คุณลักษณะของภาษาทุกภาษา) แม้ว่าคุณสามารถทำได้โปรดอย่าโพสต์คำตอบโดยไม่ลดจำนวนอักขระที่ใช้ ตัวอย่าง: Brainfuck ที่มี 8 ตัวอักษร (เนื่องจากตัวละครอื่น ๆ ทุกตัวจะแสดงความคิดเห็นเป็นค่าเริ่มต้น) คุณต้องให้คำอธิบายสั้น ๆ ว่าทำไมชุดย่อยของคุณถึง Turing-Complete

30
รอยเท้าทางนิเวศของซอร์สโค้ด
คุณเพิ่งได้รับการว่าจ้างจาก บริษัท ผู้ผลิตรถยนต์สัญชาติเยอรมัน งานแรกของคุณในฐานะวิศวกรคือการเขียนโปรแกรมที่คำนวณรอยเท้าทางนิเวศน์ของสตริง ASCII รอยเท้าทางนิเวศน์ของตัวละครคำนวณได้ดังนี้ เขียนรหัส ASCII ของตัวละครเป็นเลขฐานสองและนับจำนวน 1 ตัวอย่างเช่นAมีรอยเท้า 2 แต่Oสกปรกกว่าด้วยรอยเท้า 5 รอยเท้าทั่วโลกของสตริงคือผลรวมของรอยเท้าของตัวละคร สตริงว่างมี footprint เป็นศูนย์ โปรแกรมของคุณต้องยอมรับสตริง ASCII เป็นพารามิเตอร์ (ผ่านบรรทัดคำสั่งหรืออินพุต) คำนวณรอยเท้าทางนิเวศน์และส่งออกมัน ตัวโปรแกรมเองนั้นต้องมีการเข้ารหัส ASCII มีอาการสะอึก ในขณะที่ บริษัท ของคุณต้องการที่จะเข้าสู่ตลาดใหม่ด้วยกฎระเบียบด้านสิ่งแวดล้อมที่เข้มงวดคุณต้องปรับโปรแกรมของคุณเพื่อให้มันทำงานแตกต่างกันใน "โหมดทดสอบ" ดังนั้น: โปรแกรมควรเอาต์พุต 0 เมื่อได้รับสตริงtestเป็นพารามิเตอร์ เกณฑ์การให้คะแนน ซอร์สโค้ดที่มีรอยเท้าทางนิเวศน์น้อยที่สุดชนะ (และใช่คำตอบtestนั้นเป็นสิ่งต้องห้าม!)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.