การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

19
การประเมิน Dotty Strings
จงเขียนโปรแกรมที่ใช้ในสตริงที่มีความยาวแปลกที่มีเพียงตัวละครและ. :ด้วยความช่วยเหลือของกองซ้อนที่ว่างเปล่าเริ่มสร้างหมายเลขจากสายอักขระนี้ดังนี้: ทุกตัวอักษรCในสตริง (ไปจากซ้ายไปขวา) ... หากcคือ.และสแต็กมีองค์ประกอบน้อยกว่า 2 ให้กด 1 บนสแต็ก หากcคือ.และสแต็กมี 2 องค์ประกอบหรือมากกว่าให้ปรากฏค่าสูงสุดสองค่าออกจากสแต็กและส่งผลรวมของพวกเขาไปยังสแต็ก หากcคือ:และสแต็กมีองค์ประกอบน้อยกว่า 2 ให้กด 2 บนสแต็ก หากcคือ:และสแต็กมีองค์ประกอบ 2 ตัวหรือมากกว่าให้แสดงค่าสูงสุดสองค่าออกจากสแต็กและดันผลิตภัณฑ์ลงบนสแต็ก หมายเลขผลลัพธ์คือค่าที่ด้านบนสุดของสแต็ก โปรแกรมของคุณควรพิมพ์หมายเลขนี้ไปยัง stdout (พร้อมกับขึ้นบรรทัดใหม่ตัวเลือก) (การวิเคราะห์เพียงเล็กน้อยแสดงให้เห็นว่ามีจำนวนที่เหลืออยู่เพียงหมายเลขเดียวเท่านั้นยกเว้นว่าสตริงมีความยาวเท่ากันซึ่งเป็นสาเหตุที่เราไม่สนใจสิ่งเหล่านั้นในความเป็นจริงสแต็กไม่เคยมีองค์ประกอบมากกว่า 2 รายการ) ตัวอย่างเช่นหมายเลขสำหรับ::...:.:.คือ 9: 2 1 2 2 /______ stack just after the character below is handled 2 2 4 4 5 5 7 …

11
สร้างคู่จำนวนเต็มจากค่าที่ไม่เป็นลบ
คุณควรจะเขียนโปรแกรมหรือฟังก์ชั่นซึ่งจะเป็นจำนวนเต็มไม่เป็นลบNเป็นอินพุตและเอาต์พุตหรือผลตอบแทนจำนวนเต็มสองจำนวน (ลบศูนย์หรือบวก) และXY จำนวนเต็มมีความหมายในแง่คณิตศาสตร์เนื่องจากมีจำนวนไม่ จำกัด ฟังก์ชั่นการใช้งานจะต้องมีbijective ซึ่งหมายความว่าสำหรับทุก ๆNการส่งออกจะมีX Yคู่ที่แตกต่างกันและทุกX Yคู่จะต้องส่งออกสำหรับการป้อนข้อมูลบางอย่างNนั่นคือทั้งหมดของคู่ต่อไปนี้ควรได้รับการส่งออกสำหรับบางส่วนN: ... ┌─────┬─────┬────┬────┬────┐ │-2 -2│-2 -1│-2 0│-2 1│-2 2│ ├─────┼─────┼────┼────┼────┤ │-1 -2│-1 -1│-1 0│-1 1│-1 2│ ├─────┼─────┼────┼────┼────┤ ... │0 -2 │0 -1 │0 0 │0 1 │0 2 │ ... ├─────┼─────┼────┼────┼────┤ │1 -2 │1 -1 │1 0 │1 1 │1 2 …
25 code-golf  math  number 

3
การวิ่งในสตริงที่ไม่สิ้นสุดนี้อยู่ที่ไหน (พบ CCCCCC!)
เริ่มต้นด้วยสตริงABCพิจารณาผลลัพธ์ของการต่อท้ายครึ่งสุดท้ายของตัวเองเข้ากับตัวเองซ้ำ ๆ (ใช้ครึ่งที่ใหญ่กว่าถ้าความยาวเป็นเลขคี่) เราได้รับความก้าวหน้า: ABC ABCBC ABCBCCBC ABCBCCBCCCBC ABCBCCBCCCBCBCCCBC etc... อนุญาตให้Sแสดงสตริงอนันต์ที่เกิดขึ้น (หรือลำดับ) ที่ผลลัพธ์เมื่อโพรซีเดอร์นี้ซ้ำไปเรื่อย ๆ เป้าหมาย เป้าหมายในการท้าทายรหัสนี้คือการหาดัชนีของเกิดขึ้นครั้งแรกของการทำงานของC's Sใน มันง่ายในตอนแรก: Cเกิดขึ้นครั้งแรกที่ดัชนี2, CCที่4, CCCที่7, CCCCที่26, แต่CCCCCเป็นไปตามดัชนี27308! หลังจากนั้นความจำของฉันก็หมด ผู้ชนะจะได้รับการส่งที่สร้างดัชนีได้อย่างถูกต้องมากที่สุด (ตามลำดับเริ่มต้นที่C) คุณสามารถใช้อัลกอริทึมแบบใดก็ได้ แต่อย่าลืมอธิบายถ้าคุณไม่ได้ใช้กำลังดุร้ายขั้นพื้นฐาน อินพุตและเอาต์พุตสามารถอยู่ในรูปแบบที่เข้าใจง่าย หมายเหตุสำคัญ:ผมไม่ทราบว่าเป็นทางการหรือไม่Sจริงมีการทำงานทั้งหมดของC's คำถามนี้มาจากคำถามนี้ใน Mathematics Stack Exchangeซึ่งผู้เขียนไม่พบCCCCCCเช่นกัน ฉันอยากรู้ว่าใครที่นี่สามารถ (คำถามนั้นเป็นไปตามคำถามเดิมของฉันในหัวข้อ ) หากคุณสามารถพิสูจน์ได้ว่าไม่Cเกิดขึ้นทั้งหมดในSนั้นคุณจะชนะโดยอัตโนมัติเนื่องจากคำถามนี้จะไม่ถูกต้อง ถ้าไม่มีใครสามารถพิสูจน์ได้ว่ามิได้พบCCCCCCแล้วผู้ชนะจะได้เป็นคนที่จะได้รับสูงสุดลดผูกพันในดัชนีของCCCCCC(หรืออะไรก็ตามที่ใหญ่ที่สุดวิ่งยังไม่แก้คือถ้าCCCCCCพบ) ปรับปรุง:รุ่งโรจน์ Humongous เพื่อisaacgและresที่ได้พบCCCCCCที่ดัชนีทางดาราศาสตร์ของ 2.124 * 10 ^ 519 ในอัตรานี้ฉันไม่สามารถจินตนาการถึงการค้นหาCCCCCCCด้วยวิธีการใด ๆ พวกทำงานดีมาก!

1
ล็อคหน้าจอ Android
Intro คุณกำลังนั่งอยู่ในห้องประชุมที่ท้ายตารางยาว คุณมองไปรอบ ๆ และเห็น Tim Cook, คณะกรรมการ Apple, ผีของ Steve Jobs และ Jack Donaghy Apple เรียกการประชุมนี้เพราะพวกเขาตระหนักดีว่าหน้าจอล็อคของ Android นั้นเย็นลงเพียงใดและพวกเขาต้องการ 1-UP พวกเขา ทุกคนในห้องจ้องมองคุณในขณะที่ Ghost Steve ร้องว่า "ช่วยฉันด้วย CodeGolf Man! คุณเป็นความหวังเดียวของฉัน!" ปัญหา หน้าจอล็อค Android เป็นตารางจุดขนาด 3 x 3 ที่สามารถเชื่อมต่อได้ด้วยการปัดนิ้วจากจุดหนึ่งไปยังจุดถัดไปเพื่อสร้างเส้นทาง รหัสผ่านถือเป็นเส้นทางที่เป็นไปได้ที่มีจำนวนจุดใด ๆ และไม่รวมจำนวนจุดใด ๆ (บนโทรศัพท์จริงเส้นทางต้องมีความยาวอย่างน้อย 4 จุดสำหรับความท้าทายนี้ให้ละเว้นข้อ จำกัด นั้น) Apple วางแผนที่จะแทนที่ตาราง 3 x …

3
สร้างแผนที่จริง
ฉันวาดแผนที่ของภูมิภาคของคำจินตนาการในไม่กี่นาทีใน MS Paint: ฉันคิดว่าการสร้างแผนที่แบบนี้โดยทางโปรแกรมจะเจ๋งจริงๆ ท้าทาย เขียนโปรแกรมที่ใช้ในจำนวนเต็มบวกWและและชุดที่ไม่ว่างเปล่าของจำนวนเต็มบวกHS สร้างภาพสีมาตรฐานที่มีWความกว้างHพิกเซลสูงพิกเซล สำหรับแต่ละจำนวนเต็มiในSวาดภูมิภาคระนาบในภาพที่มีพื้นที่พิกเซลเป็นสัดส่วนกับiการใช้สีที่แตกต่างจากภูมิภาคใกล้เคียงใด ๆ โดยเฉพาะจำนวนพิกเซลในภูมิภาคควรจะW * H * i / sum(S)ปัดขึ้นหรือลงเพื่อให้มั่นใจว่าพิกเซลในภาพเป็นของภูมิภาค พื้นที่ภาพถ่ายเป็นชุดของพิกเซลที่มีคุณสมบัติที่พิกเซลใด ๆ ในภูมิภาคสามารถเข้าถึงได้จากที่อื่นโดยอยู่ภายในภูมิภาคและเคลื่อนที่แบบ orthogonally เท่านั้น (ไม่ใช่แนวทแยงมุม) แผนที่ของฉันด้านบนมีพื้นที่ระนาบ 10 ส่วน พิกเซลทั้งหมดในพื้นที่ภาพถ่ายจะต้องมีสีเดียวกันซึ่งจะต้องแตกต่างจากสีของพื้นที่ใกล้เคียง ภูมิภาคอาจมีสีเดียวกันหากพวกเขาไม่ใช่เพื่อนบ้าน มิฉะนั้นจะไม่มีข้อ จำกัด ในการกำหนดตำแหน่งหรือสีภูมิภาคของคุณ นี่คือการประกวดความนิยม เป้าหมายคือการสร้างโปรแกรมที่สร้างแผนที่ความเป็นจริงของโลกจินตภาพทางกายภาพหรือทางการเมืองด้วยภูมิศาสตร์ทุกระดับ โปรดแสดงภาพที่ดีที่สุดของคุณไม่ใช่แค่รหัสของคุณ รายละเอียด รับอินพุตจากไฟล์บรรทัดคำสั่ง stdin หรือที่คล้ายกัน บันทึกภาพในรูปแบบมาตรฐานหรือแสดงเป็นหน้าจอ โปรแกรมของคุณควรถูกกำหนดไว้สำหรับอินพุตที่เหมือนกัน นั่นคือภาพออกควรจะเหมือนกันสำหรับบางคนโดยเฉพาะอย่างยิ่งH, และW S(โปรดทราบว่าSเป็นชุดไม่ใช่รายการดังนั้นการสั่งซื้อจึงไม่สำคัญ) มิฉะนั้นคุณอาจใช้การสุ่มตามที่ต้องการแม้ว่าคุณจะไม่จำเป็นต้องใช้ (แต่ฉันขอแนะนำอย่างยิ่ง) ภูมิศาสตร์รูปภาพผลลัพธ์ไม่จำเป็นต้อง "ปรับ" สำหรับค่าที่แตกต่างกันของWหรือH(แม้ว่าจะทำได้) มันอาจจะแตกต่างอย่างสิ้นเชิง คุณอาจกำหนดสีแบบสุ่มโดยไม่คำนึงถึงกฎสีเพื่อนบ้านตราบใดที่มีความเป็นไปได้ของสีแบบสุ่มอย่างน้อย 32 …

2
รอบชิงชนะเลิศยืน - ความพ่ายแพ้ของฝูงชนผีดิบ
บทนำ คุณเป็นคนเดียวบนเกาะ ส่วนที่เหลือของมนุษย์จะตาย ( อาจเป็นเพราะข้อผิดพลาดในรหัส user12345 ฯ ) ผีดิบโจรสลัด Horde ได้ถึงเกาะของคุณและพวกเขาจะไม่มีที่สิ้นสุด มันถึงเวลาที่จะเตะตูดหรือเคี้ยวหมากฝรั่งและคุณทุกเหงือก outta ฟอง ปัญหา สถานการณ์วันโลกาวินาศของเราคือการอธิบายโดย 2 จำนวนเต็มในบรรทัดเดียวและm nบนเกาะของคุณจะถูกนายทวารหมายเลขที่ไม่ซ้ำกันจาก 1 mถึง ต่อไปนี้nสายประกอบด้วยแต่ละสามจำนวนเต็มx, yและzคั่นด้วยช่องว่าง xและyเป็นหมายเลขที่ไม่ซ้ำกันของทั้งสองนายทวารและzเป็นจำนวนของซอมบี้ที่จะพบบนเส้นทางระหว่างพวกเขา เมื่อคุณเดินทางไปตามทางคุณจะเสียzกระสุนและฆ่าzซอมบี้ หากคุณเดินทางไปในเส้นทางเดียวกันอีกครั้งคุณจะพบกับซอมบี้จำนวนเท่ากันอย่างน่าเสียดาย ด่านหน้าทั้งหมดสร้างกระสุน +1 ในแต่ละครั้งที่คุณเดินทาง คุณเริ่มต้นด้วยกระสุน 100 นัดที่ด่านหน้า 1 ด่านหน้าทั้งหมดเริ่มต้นด้วยกระสุน 0 นัด คุณตายทันทีหากไม่มีเส้นทางที่กระสุนของคุณมีจำนวนมากกว่าซอมบี้ในเส้นทางนั้นและกระสุนที่เหลือจะถูกแปลงเป็นสังหาร ดังกล่าวเป็นครั้งสุดท้ายของคุณ เขียนโปรแกรมที่ให้จำนวนซอมบี้สูงสุดที่คุณสามารถฆ่าในสถานการณ์ที่กำหนด xหากคุณสามารถฆ่าจำนวนอนันต์ของซอมบี้ออกเพียง ตัวอย่างการป้อนข้อมูล 5 6 1 2 4 2 3 4 3 …
25 code-golf 

19
สร้างโปรแกรม“ hacker typer” ที่แสดงผลซอร์สโค้ดของตัวเอง
ถ้าคุณไม่คุ้นเคยกับแฮกเกอร์ typer ดูhackertyper.net ในระยะสั้นมันเป็นโปรแกรมที่ส่งออกหนึ่งชิ้นฐานรหัสต่อการกดแป้นพิมพ์เพื่อผลกระทบตลก แต่รุ่นแฮกเกอร์ตี้เพอร์เฟ็กต์นั้นใช้งานง่ายเกินไป มันเพียงแค่ส่งออกสามตัวอักษรในเวลาเดียวจากชิ้นส่วนของรหัสโดยพลการ สำหรับความท้าทายนี้โปรแกรมจะต้องส่งออกซอร์สโค้ดของตัวเองและพิมพ์โค้ดที่คั่นด้วยช่องว่างหนึ่งอันต่อการกดแป้น รายละเอียด หนึ่งไม่สามารถรหัสฮาร์ดชื่อไฟล์สำหรับโปรแกรม; จะต้องกำหนดชื่อของมันแบบไดนามิก หากโปรแกรมคอมไพล์ไปยังไฟล์ที่เรียกทำงานได้โปรแกรมอาจผนวกนามสกุลไฟล์มาตรฐานเข้ากับชื่อไฟล์เรียกทำงาน (ยกเว้น. exe หากใช้ Windows) และถือว่าไฟล์ต้นฉบับนั้นอยู่ในไดเรกทอรีของไฟล์เรียกทำงานนั้น ตัวอย่างเช่นหากปฏิบัติการ C ชื่อ "แฮ็กเกอร์" มันควรดึงซอร์สโค้ดของมันจากไฟล์ชื่อ "hacker.c" ในไดเรกทอรีเดียวกัน หากโปรแกรมที่คอมไพล์มีส่วนขยายมันควรถูกดร็อปก่อนที่จะพิจารณาชื่อของซอร์สโค้ด ("typer.exe" -> "typer.cs") โปรแกรมต้องมีช่องว่างอย่างน้อย 5 ช่องโดยมีอักขระอย่างน้อยหนึ่งตัวระหว่างแต่ละช่องว่าง ซึ่งหมายความว่าขนาดที่เล็กที่สุดที่เป็นไปได้สำหรับความท้าทายนี้คือ 9 ไบต์ ช่องว่างไม่จำเป็นต้องมีความสำคัญต่อการทำงานของโปรแกรม การจัดรูปแบบใด ๆ (เยื้องบรรทัดใหม่ ฯลฯ ) จะต้องรักษาไว้ในเอาท์พุท การจัดรูปแบบนี้อาจถูกพิมพ์ด้วยรหัสที่ได้รับหรือตามมันสิ่งที่สำคัญคือการจัดรูปแบบที่จะรักษา หลีกเลี่ยงการใช้ข้อคิดเห็นเพื่อตอบสนองความต้องการพื้นที่ 5 เว้นเสียแต่ว่าไม่มีวิธีอื่นในการติดตั้งช่องว่างในภาษาที่คุณเลือก แก้ไข : บรรทัดใหม่สามารถใช้แทนหรือเพิ่มเติมจากช่องว่างเป็นตัวแยกชิ้น

30
พิมพ์หมายเลขสามเหลี่ยม
รับจำนวนN, เอาท์พุท NxN มุมขวาสามเหลี่ยมซึ่งแต่ละแถวจะเต็มไปด้วยตัวเลขถึงii ตัวอย่าง n = 0 (ไม่มีเอาต์พุต) n = 4 1 1 2 1 2 3 1 2 3 4 n = 10 1 1 2 1 2 3 . . . 1 2 3 4 5 6 7 8 9 10 (ไม่จำเป็นต้องจัดตำแหน่ง) n = N 1 1 …
25 code-golf  number 

3
คะแนนเทนนิสตรงตามรหัสกอล์ฟ
ในแง่ของการแข่งขันออสเตรเลียนโอเพ่น 2014 ในเมลเบิร์นและการชนะโดย Stanislas Wawrinka กับโนวัคยอโควิชฉันขอเสนอการแข่งขันกอล์ฟรหัสต่อไปนี้! Wawrinka และ Djokovic อยู่ที่นี่อีกครั้งสำหรับพื้นฐานของ CGC นี้ ความท้าทายของคุณคือการใช้สายประกอบด้วย 1 และ 2 และกำหนดคะแนนเทนนิสตามระบบการให้คะแนนเทนนิส "1" หมายถึง Wawrinka ได้คะแนนหนึ่งคะแนนในขณะที่ "2" หมายถึง Djokovic ได้คะแนน เพื่อเป็นตัวอย่าง: 1211222122111122111จะสร้างเอาต์พุตสองบรรทัด: Wawrinka 1 - 40 Djokovic 1 - 30 ยิ่งสตริงยาวมากเท่าไหร่ก็ยิ่งได้คะแนนมากขึ้นเท่านั้น กฎ: รหัสที่สั้นที่สุดชนะบริสุทธิ์และเรียบง่าย คะแนนที่ปรากฏจะต้องจัดเรียงชิดขวาและจัดเรียงคอลัมน์ด้วย เช่น การจัดตำแหน่งตัวอย่างของเอาต์พุต: Wawrinka 7 5 3 - 0 Djokovic 6 7 …
25 code-golf  game 

9
ทำคะแนนเกมโบว์ลิ่ง
งานของคุณคือการสรุปผลและให้คะแนนการส่งออกหนึ่งของผู้เล่นในเกม 10 พินโบว์ลิ่งหลังจากได้ถึง 21 ม้วน ม้วนจะแสดงเป็นลำดับของจำนวนเต็มในวิธีการป้อนข้อมูลที่คุณต้องการ จำนวนเต็มแต่ละตัวสอดคล้องกับจำนวนพินที่ล้มลงในม้วนนั้น เกณฑ์การให้คะแนน หลังจากแต่ละรอบจำนวนพินที่ล้มลงในรอบนั้นจะนับเป็นคะแนนสุดท้าย หากผู้เล่นเคาะลงทั้งสิบพินในม้วนแรกของรอบนี่คือการนัดหยุดงานและรอบจะจบลง มิเช่นนั้นรอบจะใช้เวลานานกว่าหนึ่งม้วน ถ้าม้วนที่สองของรอบเคาะลงทุกหมุดที่เหลืออยู่นี้เป็นอะไหล่ สำหรับการโจมตีแต่ละครั้งจะมีโบนัสเท่ากับผลรวมของพินที่ล้มลงในการหมุนสองครั้งถัดไป สำหรับแต่ละอะไหล่มีโบนัสเท่ากับจำนวนพินที่ล้มลงในการหมุนครั้งถัดไป รอบที่ 10 และรอบสุดท้ายผู้เล่นอาจได้รับม้วนเสริม: ในกรณีที่มีการประท้วงผู้เล่นจะได้รับอีกสองม้วนเพื่อใช้เป็นโบนัสการนัดหยุดงาน ในกรณีที่มีผู้เล่นสำรอง ตัวอย่าง Input: 4 3 8 2 7 1 10 7 3 0 10 2 2 10 10 5 4 Output: 131 Input: 10 10 9 1 7 3 2 7 10 …
25 code-golf  number  game 

10
พิณ Quine
เขียนควินิน ... ซึ่งทุกตัวละครอื่น ๆ สามารถลบได้ คุณสามารถระบุได้ว่าจะเริ่มต้นลบอักขระที่อักขระตัวแรกหรือตัวที่สอง เกณฑ์การให้คะแนน (เพิ่มโบนัส / เปอร์เซ็นต์เปตเซ็นต์รวมกันเป็นเปอร์เซ็นต์ทั้งหมด) คำตอบจะต้องมีความยาวอย่างน้อย 4 ตัวอักษร โปรแกรมจะต้องมีตัวอักษรอย่างน้อยหนึ่งตัวในแหล่งที่มาของมันตัวอย่างเช่น12345!@#$%^&*()จะถูกตัดสิทธิ์ + 750% ถ้าภาษาที่ใช้ไม่สมบูรณ์ทัวริง (ฉันกำลังมองหาคุณ, HTML!) -15% ถ้าการแก้ปัญหาไม่ได้อ่านแหล่งที่มาจากที่ใดก็ได้ในรูปแบบใด ๆ -20% ถ้าคุณสามารถเก็บเฉพาะอักขระที่ 5 ทุกครั้งและยังคงรูปแบบ quine คะแนนวัดจากจำนวนตัวอักษรในโปรแกรมแรก ตัวอย่าง (ไม่ใช่โปรแกรมจริง): หาก123456789abcdefและ13579bdfเป็นทั้งควินสุมคะแนนคือ 15 นอกจากนี้หาก159dเป็นควินก็จะเป็นคะแนนสุดท้ายคือ 12 นี่คือรหัส - กอล์ฟดังนั้นคะแนนต่ำสุดจึงชนะ
25 code-golf  quine 

30
ตัวประมาณค่า Monte Carlo ของ Pi
สวัสดีวัน Pi ทุกคน! ไม่มีเหตุผลเลยฉันพยายามสร้างตัวประมาณค่า Monte Carlo ของ Pi ที่สั้นที่สุด เราสร้างสิ่งที่สามารถพอดีกับทวีตได้หรือไม่? สิ่งที่ฉันมีอยู่ในใจคือวิธีการทั่วไปในการวาดจุดสุ่มจากตารางหน่วยและคำนวณอัตราส่วนที่อยู่ภายในวงกลมหน่วย จำนวนตัวอย่างสามารถกำหนดรหัสยากหรือไม่ หากคุณ hardcode พวกเขาคุณต้องใช้อย่างน้อย 1,000 ตัวอย่าง ผลลัพธ์อาจถูกส่งคืนหรือพิมพ์เป็นจุดลอยตัวจุดคงที่หรือจำนวนตรรกยะ ไม่มีฟังก์ชันตรีโกณฯ หรือค่าคงที่ Pi ต้องเป็นวิธีมอนติคาร์โล นี่คือรหัสกอล์ฟดังนั้นการส่งที่สั้นที่สุด (เป็นไบต์) จะชนะ

11
คำนวณ 500 หลักของ pi
เขียนโปรแกรมเพื่อคำนวณ 500 หลักแรกของ pi ตามกฎด้านล่าง: ต้องมีความยาวน้อยกว่า 500 อักขระ ไม่สามารถรวม "pi", "math.pi" หรือค่าคงที่ของ pi ที่คล้ายกันและไม่สามารถเรียกฟังก์ชันไลบรารีเพื่อคำนวณ pi ไม่สามารถใช้ตัวเลข "3", "1" และ "4" ติดต่อกันได้ มันจะต้องดำเนินการในเวลาที่เหมาะสม (ต่ำกว่า 1 นาที) บนคอมพิวเตอร์ที่ทันสมัย โปรแกรมที่สั้นที่สุดชนะ

5
Hungry Image Snake - Hole # 3
หลุม # 1 โจงูหิว เขากินรูปภาพครั้งละหนึ่งพิกเซล เขาชอบพิกเซลที่สดใส ความท้าทาย โปรแกรมโจเพื่อกินพิกเซลที่สว่างที่สุดที่เขาสามารถหาได้เนื่องจากเขาสามารถเลื่อนขึ้นลงซ้ายหรือขวา ข้อมูลจำเพาะ โจต้องเริ่มต้นที่พิกเซลซ้ายบนของภาพ Joe สามารถเคลื่อนที่ในแนวนอนหรือแนวตั้งได้เพียง 1 ครั้งเท่านั้น Joe มีเวลาเพียงพอที่จะย้าย 1/3 ของจำนวนพิกเซลในรูปภาพ (1/3 เคลื่อนที่เป็นพิกเซล) หากจำนวนพิกเซลไม่เท่ากับ 3 ให้ปัดเศษเป็นจำนวนเต็มที่ใกล้เคียงที่สุด Joe อาจข้ามเส้นทางของเขาแม้ว่านั่นจะนับว่าเป็นความสว่าง 0 ความสว่างขึ้นอยู่กับผลรวมของ r, g และ b ดังนั้น rgb (0,0,0) จึงมีความสว่างเป็น 0 ในขณะที่ rgb (255,255,255) มีความสว่างสูงสุด อินพุต คุณสามารถใส่ภาพได้ตามต้องการ เอาท์พุต รูปภาพที่แสดงผลลัพธ์สุดท้ายของรูปภาพของคุณ (สีดำกำลังถูกกินพิกเซล) จำนวนความสว่างที่รับประทาน (โปรดระบุช่วงที่คุณตอบ) เกณฑ์การให้คะแนน โปรแกรมของคุณจะได้รับเกรดเมื่อ: ความสว่างโดยเฉลี่ยของพิกเซลโจกิน …

6
คุณสามารถ Meta Quine ได้ไหม?
คล้ายกับปริศนาตัวต่ออื่น (โดยเฉพาะตัวนี้ ) เขียนโปรแกรมที่สร้างแหล่งข้อมูลสำหรับตัวมันเอง นี่คือการบิดใหม่:รหัสที่ผลิตไม่ควรเหมือนกันกับแหล่งที่มา แต่ควรส่งออกโปรแกรมอื่นที่จะสร้างโปรแกรมแรก ความท้าทายที่เชื่อมโยงกับข้างต้นทำได้โดยการกระโดดระหว่างสองภาษา ฉันคิดว่าจะใช้ภาษานี้เพียงภาษาเดียวแต่แหล่งที่มาทั้งสอง (หรือมากกว่า) ควรจะแตกต่างกันอย่างมีนัยสำคัญ (ดูกฎด้านล่าง) ด้วยข้อ จำกัด นี้คำตอบเดียวของอักขระจะไม่ได้รับอนุญาต กฎ รหัสของคุณจะต้องผลิตในภาษาเดียว (การส่งหลายรายการหนึ่งรายการสำหรับแต่ละภาษาเป็นที่ยอมรับอย่างสมบูรณ์) เวอร์ชันของรหัสที่แตกต่างกันของคุณจะต้องแตกต่างกันอย่างชัดเจน กล่าวอีกนัยหนึ่งถ้าคุณวาดแผนผังไวยากรณ์นามธรรมสำหรับโค้ดของคุณควรมีอย่างน้อยหนึ่งโหนดที่แตกต่างกัน การจัดหาASTจะไม่จำเป็น แต่ถ้าคุณรู้สึกอยากจะจัดให้มีหนึ่งโปรแกรมสำหรับแต่ละโปรแกรมของคุณมันจะช่วยในการตัดสิน คุณสามารถทำซ้ำได้มากเท่าที่คุณต้องการตราบใดที่มันยังคงมีความแตกต่างทางวากยสัมพันธ์ (เพิ่มเติมจะช่วยให้คะแนนของคุณดูด้านล่าง) SCORING คะแนนสุดท้ายของคุณคือความยาวเฉลี่ยของโปรแกรมทั้งหมดหารด้วยจำนวนโปรแกรม ตัวอย่างที่ 1: A (แหล่งที่มาสำหรับ B) = 50 ตัวอักษร B (แหล่งที่มาสำหรับ A) = 75 ตัวอักษร คะแนนสุดท้าย = 31.25 ตัวอย่างที่ 2: A (แหล่งที่มาสำหรับ B) = 50 ตัวอักษร …
25 code-golf  quine 

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