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

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

8
ตำแหน่งเรือประจัญบานขี้เกียจ
ลองนึกภาพสถานการณ์ต่อไปนี้: คุณกำลังเล่นเรือรบกับเพื่อน แต่ตัดสินใจที่จะโกง แทนที่จะย้ายเรือหลังจากที่เขายิงจุดที่เรือของคุณเคยเป็นคุณตัดสินใจที่จะไม่วางเรือใด ๆ เลย คุณบอกเขาว่าทุกช็อตของเขาพลาดไปจนกว่าจะไม่สามารถวางเรือในลักษณะนี้ได้ คุณต้องเขียนฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบที่ใช้เวลา 3 ข้อโต้แย้ง: ขนาดฟิลด์รายการจำนวนขนาดของเรือและรายการของภาพ สนามรบ หนึ่งในพารามิเตอร์ที่กำหนดคือขนาดกระดาน สนามรบเป็นรูปสี่เหลี่ยมจัตุรัสของเซลล์และพารามิเตอร์ที่กำหนดเป็นเพียงด้านเดียวของจัตุรัส ตัวอย่างเช่นต่อไปนี้เป็นบอร์ดขนาด 5 พิกัดบนฟิลด์ถูกระบุเป็นสตริง 2 องค์ประกอบ: ตัวอักษรตามด้วยตัวเลข คุณสามารถพึ่งพาตัวอักษรในบางกรณี ตัวอักษรระบุคอลัมน์ตัวเลขระบุแถวของเซลล์ (1 ดัชนี) "D2"ยกตัวอย่างเช่นในภาพข้างบนเซลล์ที่ไฮไลต์คือการแสดงโดย เนื่องจากมีเพียง 26 ตัวอักษรสนามจึงไม่สามารถมีขนาดใหญ่กว่า 26x26 เรือ เรือเป็นเส้นตรงที่มี 1 บล็อกขึ้นไป จำนวนเรือถูกระบุในรายการโดยที่องค์ประกอบแรกคือจำนวนเรือ 1 เซลล์สอง - จากเรือ 2 เซลล์และอื่น ๆ ตัวอย่างเช่นรายการ[4,1,2,0,1]จะสร้างชุดต่อไปนี้: เมื่อวางไว้ในสนามรบเรือไม่สามารถตัดกันหรือแม้แต่แตะต้องกัน ไม่แม้แต่กับมุม อย่างไรก็ตามพวกเขาสามารถสัมผัสขอบของสนาม ด้านล่างคุณสามารถดูตัวอย่างของการจัดส่งที่ถูกต้อง: คุณสามารถสันนิษฐานได้ว่าสำหรับเรือที่ได้รับนั้นจะมีตำแหน่งบนกระดานเปล่าตามขนาดที่กำหนด เอาท์พุต หากตำแหน่งของเรือดังกล่าวมีอยู่คุณจะต้องแสดงผลลัพธ์ใด ๆ …

30
ศิลปะ ASCII“ Hello-World!” [ปิด]
เป้าหมายของคุณคือการเขียนโปรแกรมที่สั้นที่สุดที่ส่งออก "Hello-World!" เป็นศิลปะ ASCII กฎ: มันต้องเป็นมนุษย์ที่อ่านได้ฉันไม่สนใจขนาดมัน (cols / rows) เอาต์พุตต้องมีช่องว่าง (""), ชาร์ป ("#") และบรรทัดใหม่เท่านั้น ผลลัพธ์จะต้องทำงานกับแบบอักษร monospaced (แต่ตัวอักษรไม่จำเป็นต้องใช้แบบอักษรแบบ monospaced) ในผลลัพธ์อักขระแต่ละตัวต้องแยกจากกันด้วยช่องว่างอย่างน้อยหนึ่งช่อง โปรดเพิ่มชื่อด้วยภาษาและจำนวนไบต์ในรหัสของคุณ

25
HelolW rdlo (ความท้าทายการเธรด)
ฉันมีความท้าทายสำหรับคุณ: พิมพ์ "Hello World" โดยใช้ภาษาใดก็ได้ อักขระแต่ละตัวจะต้องพิมพ์จากเธรดที่ไม่ซ้ำใคร แค่นั้นแหละ. เห็นได้ชัดว่าไม่มีการรับประกันว่าเธรดจะทำงานตามลำดับที่คุณเริ่มต้นคุณต้องทำให้เธรดโปรแกรมของคุณปลอดภัยเพื่อให้แน่ใจว่าผลลัพธ์จะถูกพิมพ์ในลำดับที่ถูกต้อง และเนื่องจากนี่คือรหัสกอล์ฟโปรแกรมที่สั้นที่สุดชนะ ปรับปรุง: ผู้ชนะคือรายการ APL ของ Marinusที่ 34 ตัวอักษร นอกจากนี้ยังชนะรางวัลสำหรับการอ่านที่น้อยที่สุด
39 code-golf 

13
โค้ดกอล์ฟขั้นสูง - เขียนเซิร์ฟเวอร์ HTTP ขนาดเล็ก
ความท้าทายของคุณคือการเขียนเซิร์ฟเวอร์ HTTP code-golf ที่รับคำขอ GET เห็นได้ชัดว่าไม่จำเป็นต้องมีคุณลักษณะครบถ้วน แต่จะต้องให้บริการไฟล์จากไดเรกทอรี กฎ: เซิร์ฟเวอร์ HTTP ต้องฟังบนพอร์ต TCP 36895 (0x901F) มันจะต้องให้บริการไฟล์จาก/var/wwwระบบ * NIX (เช่น Linux) หรือC:\hgolfบน Windows คุณสามารถละเว้นส่วนหัว HTTP ที่เข้ามาทั้งหมดยกเว้นGETตัวเอง หากวิธี HTTP ไม่ใช่ GET คุณจะต้องส่งรหัสสถานะกลับเป็น "405 ไม่รองรับ" และเนื้อความของ "405 ไม่รองรับ" หากไฟล์ไม่มีอยู่คุณต้องส่งรหัสสถานะ "404 ไม่พบไฟล์" กลับมาและเนื้อความของ "404 ไม่พบไฟล์" หากไฟล์นั้นมีอยู่ แต่ไม่สามารถอ่านได้ด้วยเหตุผลบางอย่างคุณต้องส่งรหัสสถานะ "ข้อผิดพลาดเซิร์ฟเวอร์ 500" และเนื้อหา "ข้อผิดพลาดเซิร์ฟเวอร์ 500" หากผู้ใช้ร้องขอ/หรือรูทไดเร็กทอรีอื่นที่มีอยู่ (เช่น/foo/มีไดเร็กทอรีfooอยู่/var/www/) ให้ตอบกลับด้วยหน้าว่าง …
39 code-golf 

20
พิมพ์ไพรม์ nth ที่มี n
คำถามนี้จะเป็นการบิดในการค้นหาnหมายเลขเฉพาะ ท้าทาย คุณต้องเขียนโปรแกรมที่จะรับหนึ่งอินพุทnและเอาท์พุทnหมายเลขnไพรเวตตัวที่มีการแทนค่าทศนิยมประกอบด้วยการแทนค่าทศนิยมในรูปของการลบ สับสน? นี่คือตัวอย่างบางส่วน. n=1 Primes: 2, 3, 5, 7, 11 ^1 first prime that contains a 1 Output: 11 n=2 Primes: 2, 3, 5, 7, 11, 13, 17, 19, 23 ^1 ^2 second prime that contains a 2 Output: 23 n=3 Primes: 2, 3, 5, 7, 11, 13, …

8
จำลองลูกบาศก์รูบิค
ลูกบาศก์ของรูบิคมี 6 สี ได้แก่ แดงส้มเหลืองขาวน้ำเงินและเขียว ใบหน้าสีแดงและส้มเหลืองและขาวและสีน้ำเงินและสีเขียวอยู่ตรงกันข้ามกัน สุทธิจากลูกบาศก์ของ Rubik ที่แก้ไขแล้วจะมีลักษณะเช่นนี้: Y BRGO W และกระเบื้องมีลักษณะดังนี้: Y Y Y Y Y Y Y Y Y B B B R R R G G G O O O B B B R R R G G G O O O B B B R …

30
ฉันย้อนกลับซอร์สโค้ดคุณลบล้างผลลัพธ์!
งานของคุณถ้าคุณต้องการที่จะยอมรับมันคือการเขียนโปรแกรมที่ส่งออกจำนวนที่ไม่เป็นศูนย์ (อาจเป็นจำนวนเต็มหรือลอย) ส่วนที่ยุ่งยากคือถ้าฉันย้อนกลับซอร์สโค้ดของคุณผลลัพธ์จะต้องเป็นจำนวนเต็มต้นฉบับเมื่อตะกี้ กฎระเบียบ คุณต้องสร้างโปรแกรมเต็มรูปแบบ นั่นคือผลลัพธ์ของคุณจะต้องพิมพ์ไปที่ STDOUT ตัวเลขทั้งสองต้องอยู่ในฐาน 10 (ห้ามส่งออกในฐานอื่นหรือด้วยเครื่องหมายทางวิทยาศาสตร์เป็นสิ่งต้องห้าม) การส่งออกตัวเลขที่มีช่องว่างต่อท้าย / นำหน้าได้รับอนุญาต นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุด (ต้นฉบับ) ในแต่ละภาษาชนะ! มีการใช้ช่องโหว่เริ่มต้น ตัวอย่าง สมมติว่ารหัสที่มาของคุณและผลผลิตที่สอดคล้องกันของมันคือABC 4ถ้าผมเขียนแทนและเรียกใช้การส่งออกจะต้องมีCBA-4

30
เอาท์พุท Yggdrasil ในตำนาน
งานของคุณคือการส่งออกเป็นตัวแทนของต้นไม้ในตำนานของชีวิตYggdrasil คุณต้องเขียนโปรแกรมที่มีผลลัพธ์ตรงตาม: /\ /**\ /****\ /******\ /******\ /********\ /**********\ /************\ /**************\ /************\ /**************\ /****************\ /******************\ /********************\ /**********************\ /******************\ /********************\ /**********************\ /************************\ /**************************\ /****************************\ /******************************\ /************************\ /**************************\ /****************************\ /******************************\ /********************************\ /**********************************\ /************************************\ /**************************************\ /******************************\ /********************************\ /**********************************\ /************************************\ /**************************************\ /****************************************\ /******************************************\ /********************************************\ /**********************************************\ /************************************\ /**************************************\ /****************************************\ /******************************************\ /********************************************\ /**********************************************\ /************************************************\ /**************************************************\ /****************************************************\ …

21
ถอดรหัส XKCD สี
แรนดอโร (ผู้เขียน XKCD) ได้จัดสำรวจเพื่อให้ชื่อกับสี ผลหลักคือรายชื่อสำหรับ 954 ส่วนใหญ่ที่พบบ่อย RGB สีจอภาพ เพื่อความสะดวกในการเขียนโปรแกรมที่นี่เป็นรายการในข้อความธรรมดา: http://xkcd.com/color/rgb.txt ระวังบรรทัดแรกไม่ใช่ข้อมูล แต่มีสิทธิ์ใช้งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ชื่อสีที่ถูกต้องจากรายการด้านบนในฐานะอินพุตและเอาต์พุตรหัสสี RGB ที่เกี่ยวข้อง โปรแกรมของคุณไม่จำเป็นต้องจัดการอินพุตที่ไม่ถูกต้องในลักษณะที่กำหนดไว้ ช่องโหว่มาตรฐานใช้ นอกจากนี้คำตอบของคุณจะต้องไม่ใช้รหัสสีที่กำหนดไว้ล่วงหน้า (ในตัวหรือภายนอก) <-> แผนที่ชื่อสี (ซึ่งรวมถึงรายการที่เชื่อมโยง) รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ หากคุณอ่านจากไฟล์ต้องนับจำนวนไบต์ของไฟล์ ตัวอย่าง: dark peach -> #de7e5d robin's egg blue -> #98eff9 pink/purple -> #ef1de7

13
สายลับมากเกินไป!
คุณกำลังต่อสู้กับเครือข่ายสายลับของศัตรูมากมาย คุณรู้ว่าสายลับแต่ละอันมีตัวตนปลอมอย่างน้อยหนึ่ง (หลายครั้ง) ที่พวกเขาต้องการใช้ คุณต้องการทราบจำนวนสายลับที่คุณกำลังเผชิญอยู่จริง ๆ โชคดีที่หน่วยสืบราชการลับของคุณตัวแทนกำลังทำงานของพวกเขาและสามารถบางครั้งคิดออกเมื่อสองปลอมจะถูกควบคุมจริงโดยสอดแนมศัตรูเดียวกัน กล่าวคือ: ตัวแทนของคุณไม่ทราบว่าเมื่อใดที่ตัวปลอมสองตัวมีสายลับเดียวกันอยู่ข้างหลังพวกเขา หากตัวแทนแจ้งให้คุณทราบว่าตัวตนปลอมสองตัวนั้นถูกควบคุมโดยสายลับเดียวกันคุณเชื่อว่าพวกเขาถูกต้อง ข้อความตัวแทน ตัวแทนส่งข้อความลับ ๆ ให้คุณเพื่อบอกคุณว่าตัวตนใดที่มีสายลับเดียวกันข้างหลังพวกเขา ตัวอย่าง: คุณมี2 ตัวแทนและตัวปลอม 5 ตัวที่จะจัดการ ตัวแทนแรกส่งข้อความถึงคุณ: Red Red Blue Orange Orange หมายความว่าพวกเขาคิดว่ามีสายลับ 3: อันแรก (สีแดง) ควบคุมข้อมูลประจำตัว 1 และ 2 ตัวที่สอง (สีน้ำเงิน) ควบคุมเอกลักษณ์ 3 อันที่สาม (สีส้ม) ควบคุมเอกลักษณ์ 4 และ 5 เอเจนต์ที่สองส่งข้อความถึงคุณ: cat dog dog bird fly หมายความว่าพวกเขาคิดว่ามีสายลับ …
38 code-golf 

10
วาด“ Cool S”
บทนำ เราทุกคนรู้จัก S ที่ยอดเยี่ยม (หรือเรียกอีกอย่างว่า Superman S, Stüssy S, Super S, Skater S, Pointy S, Graffiti S และอื่น ๆ ): เด็กนับพันล้านคนทั่วโลกดึง S นี้มาและรู้สึกภาคภูมิใจในตัวเองทันที ในกรณีที่คุณลืมหรือมีวัยเด็กที่ไม่ได้สมบูรณ์นี่คือภาพของ cool ที่พูดแล้ว: กำหนดสเกลแฟคเตอร์nเป็นอินพุต (โดยที่ ), ส่งเอาต์พุต Cool S ในศิลปะ ASCII1≤n≤201≤n≤201\leq n\leq 20 วิธีการวาด จากหน้า Wikipediaบน Cool S: เอาท์พุต The Cool S เมื่อn= 1 คือ: ^ / …

28
ส่งออกข้อความ Arecibo
ข้อความ Arecibo เป็นข้อความวิทยุระหว่างดวงดาวปี 1974 ซึ่งมีข้อมูลพื้นฐานเกี่ยวกับมนุษยชาติและโลกที่ส่งไปยังกระจุกดาวทรงกลม M13 ด้วยความหวังว่าหน่วยข่าวกรองต่างดาวอาจได้รับและถอดรหัส ... ข้อความประกอบด้วยเลขฐานสอง 1,679 ประมาณ 210 ไบต์ ... เลือกหมายเลข 1,679 เนื่องจากเป็น semiprime (ผลิตภัณฑ์ของจำนวนเฉพาะสองหมายเลข) ที่จะจัดเรียงเป็นแถว 73 แถวโดย 23 คอลัมน์ การจัดเรียงทางเลือก 23 แถวคูณ 73 คอลัมน์สร้างชุดอักขระที่ไม่สามารถเข้าใจได้ (เช่นเดียวกับรูปแบบ X / Y อื่น ๆ ทั้งหมด) นี่คือข้อความที่เพิ่มสีเพื่อเน้นส่วนต่าง ๆ การส่งสัญญาณไบนารีจริงไม่มีข้อมูลสี ที่มา: Wikipedia งานของคุณคือการส่งออกข้อความ Arecibo ในการจัดเรียง 23x73 ที่แน่นอนที่แสดงในภาพ รูปแบบเอาต์พุตใด ๆ เหล่านี้ยอมรับได้: ข้อความโดยใช้อักขระหนึ่งตัวสำหรับหนึ่งตัวและอีกหนึ่งตัวเป็นศูนย์ …

23
พหุนามพิมพ์สวย
บทนำ มนุษย์เป็นเผ่าพันธุ์ที่น่าทึ่ง แต่เราก็อาจจะเข้าใจได้ยากในบางครั้ง - โดยเฉพาะอย่างยิ่งสำหรับคอมพิวเตอร์ โดยเฉพาะอย่างยิ่งเราดูเหมือนจะชอบเขียนชื่อพหุนามในรูปแบบที่ซับซ้อนมากและมีกฎเกณฑ์ที่ไม่เจาะจง โปรแกรมสั้นที่สุดที่คุณสามารถเขียนเพื่อจัดรูปแบบพหุนามถูกต้องโดยใช้กฎเหล่านี้คืออะไร ท้าทาย อินพุต รายการจำนวนเต็มระหว่าง -1000 ถึง 1,000 (รวม) แสดงถึงค่าสัมประสิทธิ์ของพหุนามกับรายการสุดท้ายเป็นค่าสัมประสิทธิ์ของ x ^ 0 (ค่าคงที่) ครั้งที่สองเป็นค่าสัมประสิทธิ์ของ x ^ 1 เป็นต้น เอาท์พุต สตริงที่แสดงพหุนามนี้ในรูปแบบทางคณิตศาสตร์ที่จัดรูปแบบอย่างถูกต้องของมนุษย์ กฎ: เครื่องหมายบนสัมประสิทธิ์นำจะแสดงเฉพาะเมื่อมันเป็นลบ Right: -x^2+3 Wrong: +x^2+3 ส่วนประกอบที่มีค่าสัมประสิทธิ์เป็น 0 จะไม่ถูกพิมพ์ (ยกเว้นกรณีมุมซึ่งค่าสัมประสิทธิ์ทั้งหมดเป็น 0 *) Right: x^5-x^2+3 Wrong: x^5+0x^4+0x^3-x^2+0x+3 ค่าสัมประสิทธิ์-1และ+1จะแสดงโดยไม่ต้อง 1 ยกเว้นว่าเป็นค่าคงที่ Right: x^5-x^2+1 Wrong: 1x^5-1x^2+1 เลขชี้กำลังจะแสดงก็ต่อเมื่อมันมีค่ามากกว่า …

22
ซ่อนเข็มไว้ในกองหญ้า (ตำรวจ)
นี่เป็นส่วนหนึ่งของการท้าทายของตำรวจและโจร ไปที่นี่เพื่อเป็นส่วนหนึ่งของพวกโจร The Cops 'Challenge Haystackคุณควรจะเขียนโปรแกรมหรือฟังก์ชั่นในภาษาที่คุณเลือกซึ่งเอาท์พุทสตริง แต่ก็ต้องเป็นไปได้ที่จะเอาชุดย่อยบางส่วนของตัวละครจากโปรแกรมของคุณ (โดยไม่ต้องเรียงลำดับส่วนที่เหลือ) เช่นว่าสตริงส่งผลเป็นยังเป็นโปรแกรมที่ถูกต้องในภาษาเดียวกันซึ่งจะพิมพ์Needleแทน ทั้งสองโปรแกรม / ฟังก์ชั่นอาจเลือกพิมพ์บรรทัดใหม่ขึ้นบรรทัดเดียว (แยกจากกัน) แต่ไม่มีอะไรอื่น เอาต์พุตต้องคำนึงถึงขนาดตัวพิมพ์และต้องเป็นไปตามปลอกที่ให้มา แน่นอนว่าเป้าหมายของคุณคือซ่อน "เข็ม" ไว้อย่างดี แต่ทราบว่าส่งของคุณสามารถแตกกับใด ๆวิธีการแก้ปัญหาที่ถูกต้องไม่ได้เป็นเพียงคนที่คุณตั้งใจ โปรดระบุในคำตอบของคุณ: ภาษา (และเวอร์ชันหากเกี่ยวข้อง) ของการส่งของคุณ ขนาดของโปรแกรม Haystack ในหน่วยไบต์ โปรแกรม Haystack นั้นเอง วิธีการส่งออกถ้ามันไม่ได้เป็น STDOUT หากเป็นไปได้ให้ลิงก์ไปยังล่าม / ผู้แปลออนไลน์สำหรับภาษาที่คุณเลือก การส่งของคุณอาจเป็นโปรแกรมหรือฟังก์ชั่น แต่ไม่ใช่ตัวอย่างและคุณต้องไม่ถือว่าสภาพแวดล้อม REPL คุณต้องไม่รับอินพุตใด ๆ และคุณสามารถส่งออกผ่านทาง STDOUT, ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ function (out) ทั้งสองโปรแกรม / ฟังก์ชั่นจะต้องเสร็จสิ้นภายใน 5 วินาทีบนเครื่องเดสก์ท็อปที่เหมาะสมและจำเป็นต้องกำหนดไว้ล่วงหน้า …

30
Terza Rima ที่ยาวมาก ๆ
ลักษณะ เอาท์พุทรูปแบบสัมผัสสำหรับ Terza Rima ที่ยาวมาก อินพุต ไม่มี. เอาท์พุต ABA BCB CDC DED EFE FGF GHG HIH IJI JKJ KLK LML MNM NON OPO PQP QRQ RSR STS TUT UVU VWV WXW XYX YZY กฎระเบียบ คุณสามารถเลือกระหว่างการแยกบทด้วยช่องว่างหรือบรรทัดใหม่ดังนั้น: ABA BCB... หรือ ABA BCB ... อนุญาตให้ใช้ช่องว่างต่อท้ายหนึ่งบรรทัดต่อบรรทัดและอนุญาตให้ขึ้นบรรทัดใหม่ได้หนึ่งบรรทัด เอาต์พุตอาจเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กก็ได้ นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์สำหรับแต่ละภาษาจะชนะ

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