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

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

1
ความก้าวหน้าทางคณิตศาสตร์สีเดียวกัน
ทฤษฎีบทของ Van der Waerdenกล่าวว่า สำหรับจำนวนเต็มบวกใด ๆ ที่ได้รับrและkมีบางจำนวนNเช่นนั้นหากจำนวนเต็ม{1, 2, ..., N}เป็นสีแต่ละr สีมีสีต่างกันหนึ่งสีดังนั้นอย่างน้อยก็มีkจำนวนเต็มอย่างน้อยในการดำเนินการทางคณิตศาสตร์ที่มีสีเดียวกันทั้งหมด เช่นอย่างน้อยเป็นแวนเดอร์จำนวนN WaerdenW(r, k) เป้าหมายของคุณคือการคำนวณ Van der Waerden จำนวนW(r, k)รับปัจจัยบวกจำนวนเต็มและr kไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ ระวังว่าฟังก์ชั่นนี้จะเติบโตอย่างรวดเร็วและใช้เวลาในการคำนวณ แม้W(4, 4)ไม่เป็นที่รู้จัก คุณอาจสมมติว่าโค้ดของคุณทำงานบนคอมพิวเตอร์ในอุดมคติที่มีทรัพยากรไม่ จำกัด (เวลา, หน่วยความจำ, ความลึกของสแต็ค ฯลฯ ) ในทางทฤษฎีรหัสของคุณจะต้องให้คำตอบที่ถูกต้องแม้สำหรับค่าที่ไม่ทราบคำตอบ บิวด์อินที่ไม่อนุญาตให้คำนวณฟังก์ชันนี้ ตัวอย่าง สำหรับr = 2สีและความก้าวหน้าของความยาวk = 3มี8ลำดับความยาวที่หลีกเลี่ยงความก้าวหน้าเช่น3องค์ประกอบที่เว้นระยะเท่ากันที่มีสีเดียวกัน: B R R B B R R B แต่ไม่มี9ลำดับความยาวเช่นW(2, 3) == …

5
ไกลแค่ไหนจากภายนอก?
ใช้พื้นที่ 2 มิติแบ่งออกเป็นองค์ประกอบตารางหน่วยของแกนที่มีการจัดกึ่งกลางตามระยะเวลาจำนวนเต็ม มีการกล่าวถึงขอบภายในถ้ามันแบ่งเป็นสององค์ประกอบมิฉะนั้นจะเป็นขอบภายนอก เป้าหมายของคุณคือการหาจำนวนขั้นต่ำขององค์ประกอบที่อยู่ใกล้เคียงซึ่งจะต้องสำรวจให้ถึงขอบด้านนอกโดยเริ่มจากศูนย์กลางของแต่ละองค์ประกอบหรือที่เรียกว่า traversal distanceหรือdistanceสั้น คุณสามารถเคลื่อนที่ผ่านขอบเท่านั้น (เช่นไม่มีการตัดมุม / การเคลื่อนที่ในแนวทแยง) โปรดทราบว่า "องค์ประกอบภายนอก" (องค์ประกอบที่มีขอบภายนอกอย่างน้อยหนึ่ง) ได้รับการพิจารณาว่าจำเป็นต้องสำรวจ0องค์ประกอบที่อยู่ใกล้เคียงเพื่อเข้าถึงขอบด้านนอก .. อินพุต อินพุตเป็นรายการของคู่พิกัดจำนวนเต็มที่ไม่เป็นลบซึ่งแสดงถึง (x, y) ของศูนย์กลางขององค์ประกอบทั้งหมด มันจะสันนิษฐานว่าไม่มีองค์ประกอบที่ทับซ้อนกัน (เช่นคู่ x / y ระบุองค์ประกอบ) คุณอาจไม่คิดอะไรเกี่ยวกับลำดับการป้อนองค์ประกอบ คุณสามารถแปลงต้นกำเนิดของอินพุตให้เป็นตำแหน่งใดก็ได้ (เช่น 0,0 หรือ 1,1 เป็นต้น) คุณอาจสมมติว่าองค์ประกอบอินพุตทั้งหมดเชื่อมต่อกันหรืออาจกล่าวได้ว่าเป็นไปได้ที่จะเดินทางจากองค์ประกอบหนึ่งไปยังองค์ประกอบอื่น ๆ โดยใช้กฎด้านบน โปรดทราบว่านี่ไม่ได้หมายความว่าการเชื่อมต่อภูมิภาค 2 มิตินั้นง่าย มันอาจมีรูอยู่ข้างใน ตัวอย่าง: ต่อไปนี้เป็นอินพุตที่ไม่ถูกต้อง 0,0 2,0 ไม่จำเป็นต้องตรวจสอบข้อผิดพลาด อินพุตอาจมาจากแหล่งใดก็ได้ (ไฟล์ stdio พารามิเตอร์ฟังก์ชัน …

3
ยานอวกาศไปไหน
ขึ้นอยู่กับความคิดที่แนะนำโดยZgarb ยานอวกาศกำลังเคลื่อนที่รอบกริด 3D ปกติ เซลล์ของตารางที่มีการจัดทำดัชนีที่มีจำนวนเต็มในมือขวาระบบพิกัดxyz ยานอวกาศเริ่มต้นที่จุดกำเนิดโดยชี้ไปตามแกนxบวกโดยที่แกนzบวกชี้ขึ้น ยานอวกาศจะบินไปตามเส้นทางที่กำหนดโดยลำดับการเคลื่อนที่ที่ไม่ว่างเปล่า การเคลื่อนไหวแต่ละอย่างใดอย่างหนึ่งF(orward) UDLRlrซึ่งทำให้ยานอวกาศย้ายเซลล์หนึ่งในทิศทางที่หันหน้าไปทางของตนหรือหนึ่งในหกของการหมุน สิ่งเหล่านี้สอดคล้องกับ pitch, yaw และ roll ดังนี้: ขอบคุณ Zgarb ที่สร้างไดอะแกรม UและDเปลี่ยนระดับของยานอวกาศ 90 องศา (ซึ่งทิศทางนั้นสอดคล้องกับการเคลื่อนไหวของจมูกของยานอวกาศ) Left and Right เปลี่ยนความเอียงของยานอวกาศ 90 องศา พวกเขาเป็นเพียงการเลี้ยวซ้ายและขวาปกติ left และright คือการหมุน 90 องศาซึ่งทิศทางบ่งชี้ว่าปีกใดที่เลื่อนลง โปรดทราบว่าสิ่งเหล่านี้ควรถูกตีความสัมพันธ์กับยานอวกาศเพื่อให้แกนที่เกี่ยวข้องหมุนไปพร้อมกับมัน ในแง่คณิตศาสตร์ยานอวกาศจะอยู่ในตำแหน่งเริ่มต้น(0, 0, 0)โดยชี้ไปตาม(1, 0, 0)เวกเตอร์โดย(0, 0, 1)ชี้ขึ้นด้านบน การหมุนสอดคล้องกับเมทริกซ์ต่อไปนี้ที่ใช้กับระบบพิกัด: U = ( 0 0 -1 D …

4
นักเลงวันศุกร์: จัดลำดับรายชื่อสเปกตรัมสเปกตรัม ZX ใหม่ของฉัน
การเขียนโปรแกรมภาษาแรกที่ผมได้สัมผัสกับเป็นซินแคลขั้นพื้นฐาน เช่นเดียวกับภาษาขั้นพื้นฐานจำนวนมากก็ต้องใช้ทุกสายรหัสที่มาเป็นเลข ด้วยเหตุนี้การใช้GO TOคำสั่งจึงเป็นไปตามสำนวนและการดำเนินการข้ามไปยังหมายเลขบรรทัดที่กำหนด (ไม่มีป้ายกำกับ) นอกจากนี้ยังมีGO SUBคำสั่งที่เกี่ยวข้องซึ่งสามารถใช้เป็นการเรียกใช้ฟังก์ชันพื้นฐาน อีกครั้งการดำเนินการกระโดดไปหมายเลขบรรทัดที่กำหนด แต่เมื่อมีคำสั่งถึงการดำเนินการกระโดดกลับไปสอนต่อไปหลังจากที่RETURNGO SUB ในทำนองเดียวกันRUNคำสั่งจะรีสตาร์ทการทำงานของโปรแกรมที่บรรทัดที่กำหนด ทุกคนที่ใช้เวลาใด ๆ ในล่าม BASIC ที่มีหมายเลขบรรทัดจะได้เรียนรู้ที่จะใช้รูปแบบการกำหนดหมายเลขโดยมีช่องว่างอยู่ นี่คือเพื่อให้ง่ายต่อการแทรกบรรทัดของรหัสใหม่ อย่างไรก็ตามถึงแม้คุณจะยังคงพบว่าตัวเองต้องการแทรกบรรทัดใหม่ในระหว่างหมายเลขที่ต่อเนื่องกัน ให้รายการ BASIC ที่มีหมายเลขบรรทัดเป็นอินพุตเอาต์พุตโปรแกรมเดียวกัน แต่เรียงลำดับใหม่เพื่อให้หมายเลขบรรทัดเริ่มต้นที่ 10 และเพิ่มขึ้นทีละขั้นตอนที่ 10 รายการอินพุตอาจมีGO TOหรือGO SUBคำสั่งดังนั้นตัวเลขที่เกี่ยวข้องกับสิ่งเหล่านี้ต้องถูกปรับด้วย GO TOและGO SUBคำสั่งอย่างใดอย่างหนึ่งในสายของตัวเองหรือที่ส่วนท้ายของIF THENเส้น มันปลอดภัยที่จะพูด^(\d+) .*GO (TO|SUB) (\d+)$ก็เพียงพอที่จะจับคู่สายดังกล่าว คำสั่งเหล่านี้ในเครื่องหมายคำพูดควรถูกละเว้น RUNคำสั่งจะอยู่ในบรรทัดของตัวเองเสมอ ในกรณีนี้หมายเลขบรรทัดเป็นตัวเลือก ถ้ามันหายไปล่ามก็เริ่มที่ด้านบนของโปรแกรม ถ้าGO TO, GO SUBหรือRUNคำสั่งอ้างอิงบรรทัดที่ไม่มีอยู่, มันจะข้ามไปยังบรรทัดที่กำหนดถัดไปแทน การป้อนข้อมูลของคุณจำเป็นต้องจัดการกับสิ่งนี้และให้แน่ใจว่าการอ้างอิงบรรทัดดังกล่าวได้รับการแก้ไขเพื่อให้พวกเขาชี้ไปที่บรรทัดที่ถูกต้อง พฤติกรรมอาจไม่ได้กำหนดหากหมายเลขบรรทัดหลังจากสิ้นสุดโปรแกรมได้รับในหนึ่งในคำสั่งเหล่านี้ หมายเลขบรรทัดจะเป็นจำนวนเต็มบวก 1 ถึง …
15 code-golf 

3
Reverse-Engineer ลำดับ N-Bonacci [s]
แก้ไข: ฉันจะรับคำตอบวันจันทร์ที่ 2/15/2016 ไบต์อาจจะอยู่ในความโปรดปรานของคุณ! ในการท้าทาย "Print the N-Bonacci Sequence" ของเขา @DJMcGoathem อธิบายลำดับ N-bonacci โดยที่ตัวเลขNก่อนหน้าจะถูกรวมเข้าด้วยกันแทนที่จะเป็นลำดับดั้งเดิม 2 ของลำดับ Fibonacci (กล่าวว่าเป็น " ลำดับคู่ duo nacci") จากนั้นเขาก็ขอให้รับอินพุตสองตัวคือ X และ N แล้วเอาท์พุทหมายเลขX th N -nacci ฉันขอเสนอสิ่งที่ตรงกันข้าม รับลำดับเอาท์พุทซึ่งลำดับN -ncci มันเป็นส่วนย่อยของ ฉันพูดว่า "ส่วนย่อยของ" เพราะ: A) ลำดับเหล่านี้ไม่มีที่สิ้นสุด B) หากได้รับการเริ่มต้นของลำดับคุณก็สามารถนับจำนวนของ 1 นำ ในกรณีที่มันอาจเป็นของหลายลำดับN -naC เลือกหนึ่งที่ต่ำที่สุด ในกรณีที่มันไม่ได้อยู่ในลำดับN-nacciใด ๆโปรแกรมของคุณอาจทำสิ่งอื่นนอกเหนือจากการพิมพ์สิ่งที่อาจทำให้เข้าใจผิดว่าเป็นผลลัพธ์ พฤติกรรมเหล่านี้รวมถึง ( …

3
เพศของฟีโบนักชี
Leonardo da Pisano หรือที่รู้จักว่า Fibonacci เป็นเครื่องมือสำคัญในการนำระบบตัวเลขฮินดู - อาหรับเข้าสู่ยุโรป ก่อนหน้านั้นนักคณิตศาสตร์มีการทำงานในฐานหกสิบกับตัวเลขโรมัน ตัวอย่างเช่นรากที่สองของทั้งสองอาจประมาณว่า: หนึ่งและยี่สิบสี่ส่วนของหกสิบห้าสิบเอ็ดส่วนของสามพันหกร้อยและเขียนเป็น: i xxiv liโดยมีการกำหนดโดยบริบท ในเวลานั้น“ ไม่มีอะไร” เป็นที่รู้จัก ( เช่นศูนย์) แต่ไม่มีการแสดงมาตรฐานในระบบหมายเลขนี้ หากฟีโบนัชชีไม่สนใจตัวเลขทศนิยมใหม่ที่เขาพบระหว่างการเดินทางเขาจะต้องจัดการกับข้อบกพร่องในระบบปัจจุบันอย่างแน่นอน ระบบที่ปรับปรุงแล้วนี้เราจะเรียกเพศของฟีโบนักชี งานของคุณคือการเขียนโปรแกรมฟังก์ชั่นหรือตัวอย่างของรหัสซึ่งใช้ตัวเลขทศนิยมในรูปแบบ ASCII หรือไบนารีและเอาท์พุทในฐานหกสิบตัวเลขโรมัน อินพุตสามารถเป็นไฟล์คอนโซลบรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและเอาต์พุตสามารถเป็นไฟล์หรือคอนโซลใดก็ได้ที่ง่ายที่สุด เอาต์พุตสามารถเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กและต้องรวมการปรับปรุงเหล่านี้: ใช้nหรือNเพื่อบ่งบอกว่าnullหมายถึงสถานที่ไม่มีค่าเช่น “ zero” (ปัญหาเกี่ยวกับระบบ) ใช้eหรือEเพื่อระบุและสอดคล้องกับประเด็นเรื่องเพศ (ปัญหาอื่นกับระบบ) ใช้จุดกึ่งกลาง·หรือเครื่องหมายดอกจัน * เพื่อแยกกลุ่มของตัวเลขโรมัน (ยังเป็นปัญหาของระบบ) สมมติการป้อนข้อมูลที่จะได้รับการจุดลอยกับ mantissa ไม่เกินlix · lix · lix · lix · lix เศษส่วนน้อยกว่าn · …

4
คำนวณตัวเลขที่คดเคี้ยว
หมายเลขคดเคี้ยวคือหมายเลขจำนวนเต็มของการหมุนวนทวนเข็มนาฬิกาสุทธิผู้สังเกตการณ์ต้องทำตามเส้นทางปิดที่กำหนด โปรดทราบว่าการหมุนตามเข็มนาฬิกาใด ๆ นับว่าเป็นลบต่อจำนวนคดเคี้ยว เส้นทางได้รับอนุญาตให้ตัดกันด้วยตนเอง ตัวอย่างบางส่วน (นำมาจากวิกิพีเดียลงคอ) ได้รับด้านล่าง: เป้าหมายของคุณคือการคำนวณหมายเลขที่คดเคี้ยวสำหรับเส้นทางที่กำหนด อินพุต (0,0)ผู้สังเกตการณ์จะถือว่าเป็นที่แหล่งกำเนิด อินพุตเป็นลำดับที่แน่นอนของคะแนน (เหมือนคู่ของตัวเลขจำนวนเต็ม) จากแหล่งอินพุตที่ต้องการซึ่งอธิบายเส้นทางเชิงเส้นแบบชิ้นส่วน คุณสามารถทำให้แบนนี้เป็น 1D ตามลำดับของตัวเลขจำนวนเต็มหากต้องการและอาจ swizzle อินพุตเพื่อใช้พิกัด x ทั้งหมดก่อนที่พิกัด y ทั้งหมด / vise-versa a+b iนอกจากนี้คุณยังอาจใช้การป้อนข้อมูลเป็นตัวเลขที่ซับซ้อน เส้นทางอาจตัดกันด้วยตนเองและอาจมีเซ็กเมนต์ที่มีความยาวเป็นศูนย์ จุดแรกคือจุดเริ่มต้นของเส้นทางและคาดว่าจะอยู่ที่ไหนสักแห่งบนแกน x บวก ไม่มีส่วนใดของเส้นทางที่จะตัดกันที่มา เส้นทางจะปิดตลอดเวลา (เช่นจุดแรกและจุดที่หายไปเหมือนกัน) รหัสของคุณอาจบ่งบอกถึงจุดสุดท้ายหรือต้องการให้รวมไว้ ตัวอย่างเช่นขึ้นอยู่กับความต้องการของคุณทั้งสองอินพุทให้ระบุสแควร์เดียวกัน จุดสิ้นสุดโดยนัย 1,0 1,1 -1,1 -1,-1 1,-1 จุดสิ้นสุดที่ชัดเจน 1,0 1,1 -1,1 -1,-1 1,-1 1,0 เอาท์พุต …

17
ใช้กฎหมายของ Kirchhoff
กฎหมายของ Kirchhoffบอกว่าเมื่อคุณสรุปกระแสทั้งหมด (บวกสำหรับกระแสที่จะแยกและลบสำหรับกระแสออกจากทางแยก) คุณจะได้ผลลัพธ์ 0 เสมอ ดูแผนภาพต่อไปนี้: ด้วยกฎของ Kirchhoff คุณจะเห็นว่า i1 + i4 - i2 - i3 = 0 ดังนั้น i1 + i4 = i2 + i3 ให้สองรายการหนึ่งที่มีกระแสทั้งหมดเข้าทางแยกและอีกหนึ่งที่มีกระแสทั้งหมดออกจากทางแยกยกเว้นหนึ่งออกรายการสุดท้าย Testcases: [1, 2, 3], [1, 2] = 3 [4, 5, 6], [7, 8] = 0 [5, 7, 3, 4, 5, 2], [8, …

2
แอปเปิ้ลกำลังตกลงมา
บทนำ มีลำต้นของต้นแอปเปิลอยู่ในตำแหน่งระหว่าง -2 ถึง 2 บนแกน x ซึ่งแอปเปิ้ลบางตัวตกลงมา: | | | | <-------|---|-------> -2 2 ในชีวิตประจำวัน, nแอปเปิ้ลล้มลง แต่ละแอปเปิ้ลยังคงพิกัด xไว้ตรงกับพื้น แต่ถ้ามันตกลงบนยอดของแอปเปิ้ลตัวอื่นมันจะหมุนไปตามกฎต่อไปนี้จนกว่ามันจะถึงพื้นหรือแอปเปิ้ลเลเยอร์ที่รองรับ: หากพื้นที่ที่x + 1ที่ความสูงปัจจุบันว่างเปล่าแอปเปิ้ลปัจจุบันจะไปที่นั่น มิฉะนั้นถ้าช่องว่างที่x-1ว่างเปล่าแอปเปิ้ลปัจจุบันจะไปที่นั่น มิฉะนั้นแอปเปิ้ลปัจจุบันยังคงอยู่ที่ที่อยู่ด้านบนของแอปเปิ้ลอื่น ท้าทาย อินพุตจะเป็นตำแหน่งเริ่มต้นnของแต่ละแอปเปิ้ลตามลำดับ คุณสามารถใช้เป็นอาเรย์หรือแยกตัวเลขหรือวิธีการอื่นที่ถูกต้องเพียงแค่ให้แน่ใจว่าคุณอธิบายมันในคำตอบของคุณ ผลลัพธ์ควรเป็นรูปวาด ASCII ของลำต้นของต้นไม้และแอปเปิ้ลรอบ ๆ คุณไม่จำเป็นต้องวาดแกน x ไปทางซ้ายของแอปเปิ้ลซ้ายสุดและไปทางขวาของแอปเปิ้ลขวาสุด แต่คุณจำเป็นต้องวาดที่ใดก็ได้ที่อยู่ใต้แอปเปิ้ลบางตัว คุณสามารถขยายต้นไม้เหนือแอปเปิ้ลที่สูงที่สุด คุณสามารถสันนิษฐานได้ว่าพิกัด xทั้งหมดอยู่ระหว่าง -100 ถึง 100 แต่ไม่ใช่ระหว่าง -2 และ 2 นี่คือcode-golf .. คำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ! ตัวอย่าง …

5
บล็อกซ้อน
เมื่อได้รับอินพุตของรายการบล็อกที่จะดรอป ณ จุดใดจุดหนึ่งให้ส่งออกความสูงของ "หอคอย" ที่เกิดขึ้น วิธีที่ดีที่สุดในการอธิบายความท้าทายนี้เป็นตัวอย่าง การป้อนข้อมูลจะมีรายการของ2nจำนวนเต็มตัวแทนnบล็อก จำนวนเต็มแรกคือตำแหน่ง x ของบล็อก 0 ดัชนีและที่สองคือความกว้างของบล็อก ตัวอย่างเช่นอินพุตของ2 4แสดงถึงบล็อก (ที่มีพิกัด x ติดป้ายด้านล่าง): #### 0123456789 2 4 4 6ตอนนี้ขอบอกว่าใส่เป็น นั่นคือหนึ่งบล็อกที่ x = 2 ที่มีความกว้าง 4 และอีกหนึ่งที่ x = 4 ที่มีความกว้าง 6: ###### #### โปรดทราบว่า a.) บล็อก "ปล่อย" เสมอจากด้านบนสุดของหอคอยและ b.) บล็อกจะไม่ "ล้ม" (เช่นพวกเขาจะรักษาสมดุลเสมอ) ดังนั้นอินพุตของ 2 4 4 …
15 code-golf 

10
รหัสคำในลำดับเลขจำนวนเต็ม
บทนำ Pareidolia : จากกรีกโบราณ; παρα ( para ,“ พร้อมกัน, ข้าง”) + εἴδωλον ( eídōlon ,“ image”) แนวโน้มที่จะตีความสิ่งเร้าที่คลุมเครือนั้นเป็นสิ่งที่ผู้สังเกตการณ์รู้จักเช่นการตีความเครื่องหมายบนดาวอังคารว่าเป็นคลองการมองเห็นรูปร่างในเมฆหรือได้ยินข้อความที่ซ่อนอยู่ในเพลง ที่มา: วิกิพีเดีย ตัวอย่างเช่น: Paralogia : จากกรีกโบราณ; παρα ( para ,“ พร้อมกัน, ข้าง”) + λόγος ( lógos ,“ คำพูด, คำปราศรัย, คำ, ... ”) แนวโน้มที่จะเข้าใจคำศัพท์ในลำดับของอักขระเช่นในโปรแกรมรหัสกอล์ฟ ที่มา: ใช่ฉันทำมันขึ้นมา (จริงๆแล้วคำหมายถึงอย่างอื่นตามที่ @Martin ชี้ให้เห็น) ตัวอย่างเช่น: df4$/H)hEy_^p2\ jtK2$)look|x1$ ท้าทาย เขียนโปรแกรมที่รับจำนวนเต็มบวกเป็นอินพุตสร้างจำนวนเต็มเป็นผลลัพธ์และรวมคำภาษาอังกฤษเป็นส่วนหนึ่งของรหัส …
15 code-golf  number  word 

3
PNZ (เดาหมายเลข 3 หลักตามลำดับ)
จากความท้าทายในหนังสือการเขียนโปรแกรมมานาน PNZ เป็นเกมที่ผู้ใช้จะต้องเดาตัวเลขสามหลักที่ไม่ซ้ำกันในลำดับที่ถูกต้อง กฎ : ตัวเลขสุ่ม 3 หลักโดยไม่มีการสร้างตัวเลขซ้ำ (นี่คือสิ่งที่ผู้ใช้พยายามคาดเดา) ผู้ใช้ป้อนตัวเลข 3 ตัวซึ่งจะถูกประเมินโดยโปรแกรม เอาต์พุต "P" สำหรับทุกหลักที่ถูกต้องในตำแหน่งที่ถูกต้อง เอาต์พุต "N" สำหรับทุกหลักที่ถูกต้องในตำแหน่งที่ไม่ถูกต้อง ส่งออก "Z" เฉพาะในกรณีที่ไม่มีตัวเลขที่ถูกต้อง ยอมรับอินพุตต่อไปจนกว่าตัวเลขทั้งหมดจะถูกต้องและอยู่ในตำแหน่งที่ถูกต้องจากนั้นส่งออก "PPP" ตามด้วยจำนวนการเดาที่ใช้ในบรรทัดใหม่ หมายเหตุ : "หลักที่ถูกต้อง" หมายความว่าหนึ่งในตัวเลขหลักในการเดาก็เป็นหนึ่งในตัวเลขในตัวเลขสุ่ม 3 หลักเช่นกัน "ตำแหน่งที่ถูกต้อง" หมายความว่าเป็น "ตัวเลขที่ถูกต้อง" และอยู่ในตำแหน่งเดียวกับตัวเลขสุ่ม 3 หลัก ลำดับของผลลัพธ์ควรเป็น "P" ทั้งหมดก่อนจากนั้นจึงเป็น "N" หรือเฉพาะ "Z" หากไม่มีสิ่งใดถูกต้อง หากมีการป้อนข้อมูลตัวเลขซ้ำ "P" จะให้ความสำคัญมากกว่า "N" (ตัวอย่าง: Number: 123 …

3
โทเค็นภาษาสแต็กตาม
ฉันได้รับการทำงานในอีกภาษากอล์ฟสแต็คที่เรียกว่าStackgoat ในการท้าทายนี้คุณจะต้องเขียน Tokenizer สำหรับ Stackgoat (หรือภาษาที่ใช้กองซ้อนทั่วไป) ตัวอย่าง "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] สเปค สามประเภทที่คุณต้องจัดการคือ: เงื่อนไขอะไรภายใน"" ตัวเลขลำดับของตัวเลขใด ๆ ผู้ประกอบการตัวละครอื่น ๆ นอกเหนือจากช่องว่าง ช่องว่างจะถูกละเว้นเป็นหลักเว้นแต่ว่ามันจะอยู่ในสตริงหรือแยกตัวเลขสองตัว สตริง / อักขระถ่าน: สตริงถูกคั่นด้วย a "และเมื่อ\พบa อักขระตัวถัดไปควรถูกหลีกเลี่ยง …
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

5
เล่นห่วงโซ่คำ
เมื่อผมเป็นเด็กผมใช้ในการเล่นเกมคำศัพท์ที่เรียกว่าห่วงโซ่ของ Word มันง่ายมาก ผู้เล่นคนแรกเลือกคำ; ผู้เล่นคนถัดไปพูดคำอื่นที่เริ่มต้นด้วยตัวอักษรเดียวกันกับคำก่อนหน้านี้ที่ลงท้ายด้วย สิ่งนี้ดำเนินต่อไปเรื่อย ๆ จนกระทั่งมีใครยอมแพ้! เคล็ดลับคือคุณไม่สามารถใช้คำเดียวกันสองครั้ง (เว้นแต่ทุกคนลืมคำนั้นแม้ใช้!) เรามักจะเล่นกับหัวข้อที่กำหนดเพื่อให้ยากขึ้น แต่ตอนนี้ฉันต้องการให้คุณสร้างโปรแกรมเพื่อทำสิ่งนี้ให้ฉัน ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบเพื่อค้นหากลุ่มคำที่ยาวที่สุดที่เป็นไปได้โดยใช้ชุดคำที่กำหนดและเริ่มคำ นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ! อินพุต มีสองอินพุต: รายการและคำเริ่มต้น คำเริ่มต้นจะไม่อยู่ในรายการ อินพุตเป็น ASCII ตัวพิมพ์เล็กทั้งหมดและรายการจะไม่มีคำที่ซ้ำกัน เอาท์พุต ลำดับของคำทั้งหมดจากรายการเช่นนั้น: คำเริ่มต้นเป็นคำแรกในลำดับ คำที่ตามมาแต่ละคำเริ่มต้นด้วยตัวอักษรเดียวกันกับตัวอักษรตัวสุดท้ายของคำก่อนหน้า ความยาวของลำดับเป็นไปได้ที่ยาวที่สุด หากมีลำดับที่ยาวที่สุดหลายชุดให้ส่งออกทั้งหมด ลำดับไม่จำเป็นต้องมีทุกคำในรายการ บางครั้งก็เป็นไปไม่ได้ (ดูตัวอย่าง) อีกครั้งไม่สามารถใช้คำสองครั้ง! Testcases In: [hello, turtle, eat, cat, people] artistic Out: [artistic, cat, turtle, eat] In: [lemonade, meatball, egg, grape] …

6
แสดงอาร์เรย์ 2d เป็นตาราง ASCII
งานคือการแสดงตาราง ascii สำหรับอาร์เรย์ที่กำหนด อินพุต อินพุตเป็นเมทริกซ์ 2D ความยาวแถวของเมทริกซ์เท่ากับความยาวของอาร์เรย์ หรือคุณสามารถรับอินพุตของเมทริกซ์ 2D โดยที่แถวแรกคือส่วนหัว มิติด้านนอกคือแถว อินพุตตัวอย่าง: [["License","2008-05-08","2009-03-11","2011-11-22","2013-08-12","2015-11-19"],["GPLv2","58.69%","52.2%","42.5%","33%","23%"],["GPLv3","1.64%","4.15%","6.5%","12%","9%"],["LGPL 2.1","11.39%","9.84%","?","6%","5%"],["LGPL 3.0","? (<0.64%)","0.37%","?","3%","2%"],["GPL family together","71.72% (+ <0.64%)","66.56%","?","54%","39%"]] เอาท์พุต ผลลัพธ์ของตารางมีลักษณะดังนี้ +---------------------+-------------------+------------+------------+------------+------------+ | License | 2008-05-08 | 2009-03-11 | 2011-11-22 | 2013-08-12 | 2015-11-19 | +---------------------+-------------------+------------+------------+------------+------------+ | GPLv2 | 58.69% | 52.2% | 42.5% | 33% | 23% | …

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