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

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

30
พิมพ์หมายเลขที่หายไป
ในฐานะแฟนตัวยงของซีรี่ส์ทีวีที่หายไปฉันรู้สึกทึ่งกับตัวเลขที่ปรากฏซ้ำ ๆ ในตอนต่างๆ ตัวเลขเหล่านี้คือ: 4,8,15,16,23,424,8,15,16,23,42 4, 8, 15, 16, 23, 42 (A104101) ใช้ภาษาการเขียนโปรแกรมใดเขียนรหัสที่แสดงผลตัวเลขเหล่านี้ เกณฑ์การให้คะแนน: คำตอบที่สั้นที่สุดชนะ ผลลัพธ์จะต้องไม่มีตัวเลขหรือตัวอักษรอื่นใด คุณสามารถใช้อักขระอื่นเป็นตัวคั่นหรือแม้แต่ไม่มีตัวคั่นก็ได้ คุณไม่สามารถแยกตัวเลขที่เป็นตัวเลขเดียวกันได้ 48_1516234248_15162342 48\_15162342 เป็นคำตอบที่ถูกต้อง แต่481_5162342481_5162342481\_5162342ไม่ใช่ คุณต้องเคารพคำสั่ง หากรหัสของคุณไม่มีตัวเลขใด ๆ จากลำดับให้ลดคะแนนของคุณลง 30% กฎนี้อนุญาตให้คุณป้อนตัวเลขแยกจากกัน เช่น: abcde1fg5h เป็นผู้สมัครที่ถูกต้องเพราะคำตอบไม่ได้มีจำนวน151515เพียงตัวเลขเท่านั้น อย่างไรก็ตาม444หรือ888ใด ๆจะทำให้โบนัสใช้ไม่ได้ หากรหัสไม่มีตัวเลขใด ๆ เลยให้ลดคะแนนของคุณลง 50% ตัวละครอื่น ๆ เช่น , ²หรือยังคงใช้ได้สำหรับโบนัสนี้¹¹¹²²²³³³

8
สร้างเครื่องคิดเลข omnifix
แรงบันดาลใจ ผกผัน ประเมินนิพจน์ omnifix ที่กำหนด Omnifix เป็นเหมือนสัญกรณ์คณิตศาสตร์มัดปกติ แต่มีสำเนาเพิ่มเติมของแต่ละสัญลักษณ์รอบข้อโต้แย้ง สัญลักษณ์ด้านนอกเกิดขึ้นในวงเล็บดังนั้นจึงไม่จำเป็นต้องใช้วงเล็บเพิ่มเติม คุณต้องรองรับการบวกการลบการคูณการหารและจำนวนจริงที่เป็นบวก (สามารถลบได้-0-n-) ในช่วงที่เหมาะสมสำหรับภาษาของคุณ บวกและลบจะต้องเป็น+และ-แต่คุณอาจใช้*หรือ×บางครั้งและ/หรือ÷สำหรับการหาร สัญลักษณ์อื่นที่สมเหตุสมผลจะได้รับอนุญาตเมื่อมีการร้องขอ จุดบราวนี่สำหรับคำอธิบายและคุณสมบัติเพิ่มเติม (เช่นการดำเนินการเพิ่มเติมจำนวนลบสตริง ฯลฯ ) แม้ว่าคำตอบของคุณจะไม่มีฟีเจอร์เหล่านี้ แต่อย่าลังเลที่จะแสดงความสามารถ โปรดระบุลิงก์เพื่อทดสอบโซลูชันของคุณหากเป็นไปได้ ตัวอย่าง เพื่อความชัดเจนคำอธิบายด้านล่างใช้เครื่องหมายลบสูง ( ¯) เพื่อระบุจำนวนลบ คุณอาจส่งคืนจำนวนลบโดยใช้รูปแบบที่เหมาะสม -5-2- → 3 +2+×3×2×+→ 8 ( +2+×3×2×+→ +2+6+→ 8) -14--3-1--→ 12 ( -4--3-1--→ -14-2-→ 12) +2.1+×3.5×2.2×+→ 9.8 ( +2.1+×3.5×2.2×+→ +2.1+7.7+→ 9.8) ×3×÷-0-6-÷2÷×→ -9 …

26
ลองทำลูกบาศก์!
ตามนี้ทำให้ฉันเป็นรูปสี่เหลี่ยมจัตุรัส! คุณต้องแสดงผลลัพธ์นี้: #### # # # ### # # # # #### โดยที่ "#" ถูกแทนที่ด้วยอินพุต หากคุณป้อน "A" คุณควรจะได้รับ AAAA A A A AAA A A A A AAAA หากคุณป้อน "&" คุณควรได้รับ &&&& & & & &&& & & & & &&&& ลีดเดอร์บอร์ด นี่คือตัวอย่างข้อมูลเพื่อสร้างทั้งกระดานผู้นำปกติและภาพรวมของผู้ชนะตามภาษา แสดงตัวอย่างรหัส /* Configuration */ var QUESTION_ID = …

15
วางแผนวันอาทิตย์ของคุณ!
ใครไม่ชอบที่จะทำใจให้สบายในเช้าวันอาทิตย์ในฤดูร้อนด้วยเบียร์เย็น ๆ และทีวีหรือในฤดูหนาวที่เล่นแบดมินตันหรือสุดยอดกับเพื่อน ๆ ฉันมักจะคิดว่าการรู้ว่าคุณต้องทำใจให้สบายกี่วันในหนึ่งเดือนจะแจ้งให้คุณทราบและช่วยคุณวางแผนสิ่งที่คุณต้องการ ไม่ว่าจะนั่งอยู่หน้าคอมพิวเตอร์ของคุณและแก้ปัญหาเรื่องโค้ดกอล์ฟหรือออกไปเล่นฟุตบอล ดังนั้นช่วยฉันเขียนโปรแกรมหรือฟังก์ชั่นซึ่งจะเป็น input 2 จำนวนเต็มบวกYและMและผลจำนวนของวันอาทิตย์ในปีนั้นโดยเฉพาะอย่างยิ่ง ( Y) และเดือน ( M) (ตามปฏิทินเกรกอเรียน) ตามด้วยวันของแต่ละอาทิตย์ นอกจากนี้อย่าลืมว่ารหัสที่สั้นที่สุดชนะ ข้อ จำกัด อินพุต 1,000 <= Y <= 9999 1 <= M <= 12 เอาท์พุต DD-MM-YYYYกรณีทดสอบเหล่านี้จะมีการส่งออกจะมีวันอาทิตย์ของเดือนว่าแต่ละในปีนั้นในรูปแบบ กรณีทดสอบตัวอย่าง กรณีทดสอบ 1 ตัวอย่างอินพุต 2017 1 ตัวอย่างผลลัพธ์ 5 01-01-2017 08-01-2017 15-01-2017 22-01-2017 29-01-2017 กรณีทดสอบ 2 ตัวอย่างอินพุต 2018 …
16 code-golf  date 

1
วาดร่ายมนตร์ Ingress
ในวิถีชีวิตเกมมือถือ AR ตามสถานที่ผู้เล่นIngressสามารถแฮ็คสิ่งต่าง ๆ ที่เรียกว่าพอร์ทัลเพื่อรับไอเท็ม (หากคุณสนใจ Ingress คุณสามารถ ping ฉันในการแชทเพื่อรับข้อมูลเพิ่มเติมเชื่อฉันมันดีกว่าPokémonถ้าคุณดาวน์โหลดมันอย่าลืมเลือกความต้านทาน) วิธีเพิ่มแฮ็คเอาท์พุทอย่างมีนัยสำคัญคือminigame แฮ็ค glyphซึ่งผู้เล่นจะต้องวาด glyphs บนกริดหกเหลี่ยม โดยรวมแล้วมีร่ายมนตร์ประมาณ 115 ร่ายมนตร์ที่มีประมาณ 130 ชื่อที่ใช้จริงในเกม ร่ายมนตร์ สำหรับจุดประสงค์ของการท้าทายนี้เราจะกำหนดหมายเลขแต่ละจุดของกริดดังนี้: นี่คือรายการของร่ายมนตร์ทั้งหมดเพื่อวัตถุประสงค์ในการท้าทายนี้ รายการเป็นวัตถุ JSON ที่มีสัญลักษณ์แต่ละตัวเป็นรายการของขอบ { "ABANDON": [[1, 6], [3, 4], [4, 8], [6, 10], [8, 10]], "ACCEPT": [[3, 7], [3, 8], [7, 8]], "ADVANCE": [[0, 9], [4, 9]], …

18
ทำให้ฉันเป็นผ้าห่ม!
ฉันต้องการผ้าห่มที่มีลักษณะเช่นนี้ แต่ละแถบจะผ่าน, ใต้, เหนือ, ใต้ คุณพิมพ์ได้ไหม \\\\////\\\\////\\\\////\\\\////\\\\////\\\\//// \\//// \\//// \\//// \\//// \\//// \\//// //// //// //// //// //// //// ////\\ ////\\ ////\\ ////\\ ////\\ ////\\ ////\\\\////\\\\////\\\\////\\\\////\\\\////\\\\ \// \\\\// \\\\// \\\\// \\\\// \\\\// \\\ \\ \\\\ \\\\ \\\\ \\\\ \\\\ \\ \\\ //\\\\ //\\\\ //\\\\ //\\\\ //\\\\ //\ \\\\////\\\\////\\\\////\\\\////\\\\////\\\\//// \\//// \\//// …

7
ประเมินทรี minimax
Alice และ Bob กำลังเล่นเกมเล็กน้อย ก่อนอื่นพวกเขาจะดึงต้นไม้จากโหนดโหนด (ระบุด้วยจุดหนา) โดยไม่มีโหนดภายในที่มีตัวเลขอยู่ที่ใบไม้ โหนดใด ๆ อาจมีลูก ๆ จำนวนเท่าใดก็ได้ เราเริ่มต้นที่รูทและสิ่งแรกที่จะเล่นคืออลิซ (A) เธอต้องเลือกหนึ่งในโหนดย่อยของโหนดปัจจุบัน จากนั้นก็ถึงตาของบ๊อบและเขาก็เลือกโหนดลูก สิ่งนี้จะดำเนินต่อไปจนกว่าจะถึงโหนดลีฟ เมื่อถึงโหนดลีฟเกมจะจบ มันเป็นเป้าหมายของอลิซในการจบที่โหนดที่มีค่ามากที่สุดเท่าที่จะเป็นไปได้และเป้าหมายของ Bob จะจบที่โหนดด้วยค่าที่น้อยที่สุดเท่าที่จะเป็นไปได้ รับต้นไม้ในรูปแบบอาร์เรย์ที่ซ้อนกันคืนค่าของใบไม้ที่จะมาถึงหากอลิซและบ๊อบเล่นได้อย่างสมบูรณ์แบบ ตัวอย่าง: 18: [[67, [[100, [[67, 47], [86], 21, 16], [[46, [14], 35, 85], [71, [18, 63, 69], 99, 22], 3]]], [[18, 32, 42, 80]], [[36, 70], [86, 53, …

3
ความท้าทายเกี่ยวกับ advacado
แรงบันดาลใจจากนี้ อะโวคาโดไม่ได้รับอันตรายในการสร้างความท้าทายนี้ สวัสดีฉันมีความท้าทายฉันต้องการความช่วยเหลือในการทำอโวคาโด สังเกตอะโวคาโดศิลปะ ASCII นี้: ###### # # # #### # # # p# # ## #### # # # ###### อะโวคาโดนี้ประกอบด้วยภายนอกของ#s (โดยเฉพาะลำดับแรกและสุดท้ายของ#s ในแต่ละบรรทัด) และหลุม (รูปร่างของ#s ในอะโวคาโดที่ไม่ได้สัมผัสภายนอกอะโวคาโด) จากการทดลองอย่างเข้มงวดเกี่ยวกับอะโวคาโดศิลปะ ASCII เหล่านี้ฉันได้ค้นพบสิ่งต่อไปนี้: avocado juice in fluid ounces = number of spaces inside avocado but outside pit (the pit is marked with …

1
รองรับ Ubuntu รุ่นใดบ้าง?
รับวันที่ป้อนข้อมูลรายการของคุณจะแสดงรายการเวอร์ชันเต็มของUbuntu Linux distro ที่รองรับในวันนั้น รายการเต็มรูปแบบของทุกรุ่นที่ออกเป็นดังนี้: เวอร์ชั่นชื่อรหัสวันที่วางจำหน่ายรองรับจนถึง 4.10 Warty Warthog 2004-10-20 2006-04-30 5.04 Hoary Hedgehog 2005-04-08 2006-10-31 5.10 Breezy Badger 2005-10-13 2007-04-13 6.06 LTS Dapper Drake 2006-06-01 2009-07-14 2011-06-01 (เซิร์ฟเวอร์) 6.10 Edgy Eft 2006-10-26 2008-04-25 7.04 Feisty Fawn 2007-04-19 2008-10-19 7.10 Gutsy Gibbon 2007-10-18 2009-04-18 8.04 LTS Hardy Heron 2008-04-24 2011-05-12 …
16 code-golf  date 

2
ValiDate ISO 8601 โดย RX
ท้าทาย ค้นหา regex ที่สั้นที่สุด ตรวจสอบความถูกต้องเช่นการจับคู่ทุกวันที่เป็นไปได้ในปฏิทินเกรโกเรียนProleptic (ซึ่งใช้กับวันที่ทั้งหมดก่อนที่จะนำไปใช้ครั้งแรกใน 1582) และ ไม่ตรงกับวันใด ๆ ที่ไม่ถูกต้อง เอาท์พุต การส่งออกจึงเป็นความจริงหรือเท็จ อินพุต อินพุตอยู่ในรูปแบบวันที่ISO 8601ที่ขยายเพิ่ม 3 รูปแบบ - ไม่มีเวลา สองรายการแรกคือ±YYYY-MM-DD(ปีเดือนวัน) และ±YYYY-DDD(ปีวัน) ทั้งสองต้องการปลอกพิเศษสำหรับวันอธิกสุรทิน พวกมันถูกจับคู่อย่างไร้เดียงสาโดย RXs ที่ขยายเพิ่มเหล่านี้ (?<year>[+-]?\d{4,})-(?<month>\d\d)-(?<day>\d\d) (?<year>[+-]?\d{4,})-(?<doy>\d{3}) รูปแบบอินพุตที่สามคือ±YYYY-wWW-D(ปี, สัปดาห์, วัน) มันเป็นสิ่งที่ซับซ้อนเพราะรูปแบบการกระโดดสัปดาห์ที่ซับซ้อน (?<year>-?\d{4,})-W(?<week>\d\d)-(?<dow>\d) การตรวจสอบความถูกต้องพื้นฐาน แต่ไม่เพียงพอสำหรับการรวมกันทั้งสามจะมีลักษณะดังนี้: [+-]?\d{4,}-((0\d|1[0-2])-([0-2]\d|3[01]) ↩ |([0-2]\d\d|3[0-5]\d|36[0-6]) ↩ |(W([0-4]\d|5[0-3])-[1-7])) เงื่อนไข ปีอธิกสุรทินในปฏิทินเกรกอเรียนโกเรียนมีวันก้าวกระโดด …-02-29และทำให้มันเป็น 366 วันนานจึง…-366มีอยู่ เหตุการณ์นี้เกิดขึ้นในปีใดก็ตามที่มีเลขลำดับหารด้วย 4 แต่ไม่เท่ากับ 100 เว้นแต่จะหารด้วย …

1
ผู้ตั้งถิ่นฐานแห่ง Catan - ถนนที่ยาวที่สุด!
นี่คือบอร์ด endgame ของ Settlers of Catan: พื้นหลัง: ถนน (ชิ้นส่วนแท่งยาว) และการตั้งถิ่นฐาน (และเมือง) ถูกสร้างขึ้นโดยกระท่อมเล็ก ๆ เราเข้ารหัสการจัดวางชิ้นส่วนเหล่านี้โดยใช้รูปแบบต่อไปนี้: จากด้านบนเรามีจุดยอดและแนวนอนแนวนอนที่สามารถวางถนนได้ จากนั้นเรามีคอลัมน์ของถนนเท่านั้นและอื่น ๆ การใช้ R สำหรับสีแดง, O สำหรับออเรนจ์และ B สำหรับ Blue และ _ เพื่ออะไรเลยบอร์ดภาพจะถูกเข้ารหัสเป็น: ________RR_R_ __R_ __RR_R_RRR_____R_ B___R _B_________B__OO_OOR_ B__B_R BB_BBB_____B____RR_R_ OBB_O OO__BB_BB__OOO_OO O_O_ _O_OOO_O_____ บอร์ดแบบนี้จะเป็นสตริงอินพุตของคุณ ตัวอักษรใด ๆ[A-Z]อาจบ่งบอกถึงสีของผู้เล่น แต่จะมีได้ไม่เกินสี่สี มิฉะนั้นบอร์ดรับประกันว่าจะถูกต้องตามกฎของ Settlers ซึ่งหมายถึง: แต่ละสีจะมีเครือข่ายถนนที่ต่อเนื่องกันไม่เกินสองเครือข่ายซึ่งอาจหรือไม่อาจแยกออกจากการตั้งถิ่นฐาน / เมืองของผู้เล่นคนอื่น (อาคารจุดสุดยอด) …

1
ฉันจะใช้ cmp (a, b) กับ Python3 ได้อย่างไร
ผมก็บอกว่าการใช้cmpฟังก์ชั่นสามารถเป็นประโยชน์อย่างมากในรหัสกอล์ฟ แต่น่าเสียดายที่ Python 3 ไม่มีcmpฟังก์ชั่น ดังนั้นการเทียบเท่าสั้นที่สุดของcmpที่ทำงานในหลาม 3 คืออะไร?
16 code-golf  tips  python 

2
การเปลี่ยนลำดับ 43 ล้านล้าน
เราสามารถแสดงCube ของ Rubikเป็นเน็ตดังนี้ (เมื่อแก้ไข): WWW WWW WWW GGGRRRBBBOOO GGGRRRBBBOOO GGGRRRBBBOOO YYY YYY YYY ตัวอักษรแต่ละตัวแทนสีที่สอดคล้องกัน ( Wเป็นสีขาวGสีเขียวและอื่น ๆ ) มันแสดงให้เห็นว่ามี43 , 252 , 003 , 274 , 489 , 856 , 00043,252,003,274,489,856,00043,252,003,274,489,856,000 (~ 434343 ) การเรียงสับเปลี่ยนที่ลูกบาศก์รูบิคสามารถอยู่ได้ งานของคุณคือการใช้จำนวนเต็มระหว่าง111และ43 , 252 , 003 , 274 , 489 , 856 , 00043,252,003,274,489,856,00043,252,003,274,489,856,000และส่งออกการเปลี่ยนแปลงที่สอดคล้องกันในลักษณะที่แสดงข้างต้น คุณสามารถเลือกวิธีเรียงลำดับเรียงสับเปลี่ยนได้ แต่อัลกอริทึมที่คุณใช้จะต้องแสดงเพื่อสร้างการเรียงสับเปลี่ยนที่ไม่ซ้ำกันและถูกต้องสำหรับอินพุตที่เป็นไปได้แต่ละรายการ …

10
ช่วงวันที่หลัก
หมายเหตุ: เนื่องจากฉันเป็นชาวดัตช์ตัวเองวันที่ทั้งหมดอยู่ในdd-MM-yyyyรูปแบบดัตช์ในคำอธิบายการท้าทายและกรณีทดสอบ ท้าทาย: อินพุต: วันที่เริ่มต้นsss ; วันที่สิ้นสุดอีee ; ตัวเลขnnn เอาท์พุท: วันที่ทั้งหมดอยู่ในช่วง[ s , e ][s,e][s,e] (รวมทั้งสองด้าน) ซึ่งมีจำนวนเฉพาะจำนวนnnnหลักในวันที่ ตัวอย่าง: อินพุต:วันที่เริ่ม: 12-11-1991; วันที่สิ้นสุด: 02-02-1992; หลัก:4 ผลลัพธ์: ด้วย 0s ชั้นนำสำหรับวัน / เดือน: [20-11-1991, 23-11-1991, 24-11-1991, 25-11-1991, 26-11-1991, 27-11-1991, 28-11-1991, 30-11-1991, 01-12-1991, 02-12-1991, 09-12-1991, 10-12-1991, 13-12-1991, 14-12-1991, 15-12-1991, 16-12-1991, 17-12-1991, 18-12-1991, 20-12-1991, 23-12-1991, 24-12-1991, …
16 code-golf  number  date 

13
อ้างถึงพี่ใหญ่
ภารกิจ: ให้โปรแกรมของคุณสุ่มเลือกหนึ่งในสองอัญประกาศต่อไปนี้ที่รันไทม์และพิมพ์หนึ่งเครื่องหมายคำพูดตามที่แสดง 1: Under the spreading chestnut tree I sold you and you sold me. There lie they, and here lie we Under the spreading chestnut tree. 2: WAR IS PEACE. FREEDOM IS SLAVERY. IGNORANCE IS STRENGTH. ข้อ จำกัด : คำspreading, chestnut, PEACE, FREEDOMและSTRENGTH จะต้องปรากฏในรหัสของคุณ ไม่มีคำแปลจากข้างต้นทั้งสองคำพูดที่อาจปรากฏในรหัสของคุณมากกว่าหนึ่งครั้ง ทางออกที่สั้นที่สุดชนะ

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