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

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

28
หาคู่ของคุณ
ท้าทาย รับรายการโดยพลการของ 2 tuples และองค์ประกอบหนึ่งในหนึ่งในสิ่งอันดับผู้ส่งออก "พันธมิตร" ของมันคือให้aและเอาท์พุท[(i,j),...,(a,b),...,(l,m)] bคุณสามารถถือว่าทูเปิลทั้งหมดนั้นมีเอกลักษณ์และองค์ประกอบทั้งหมดในทูเปิลนั้นเป็นสตริง นอกจากนี้สมมติว่าคุณไม่ได้มีทั้งและ(x,y)(y,x) กรณีทดสอบ Input Output [("(", ")"), ("{", "}"), ("[", "]")], "}" "{" [("I'm", "So"), ("Meta", "Even"), ("This", "Acronym")], "Even" "Meta" [("I", "S"), ("M", "E"), ("T", "A")], "A" "T" [("test", "cases"), ("are", "fun")], "test" "cases" [("sad", "beep"), ("boop", "boop")], "boop" "boop" ไบต์ที่น้อยที่สุดจะชนะ!

11
ราพันเซลราพันเซลปล่อยผมของคุณ!
ลักษณะ ฉันเดาว่าทุกคนรู้เทพนิยายของราพันเซลและเจ้าชาย สำหรับผู้ที่ไม่ได้อ่านที่นี่ อย่างไรก็ตามราพันเซลเพิ่งตัดผมของเธอดังนั้นมันอาจจะไม่นานพอที่จะให้เจ้าชายของเธอปีนขึ้นไป! เธออาจเศร้ามาก .. ท้าทาย งานของคุณคือการเขียนฟังก์ชั่นที่ประเมินว่าราพันเซลจะพูดอะไรเมื่อเจ้าชายเรียกให้เธอปล่อยผมของเธอ: เมื่อผมของเธอยาวกว่าหรือเท่ากับหอคอยนั้นสูง veeeery มีความสุขและบอกว่าAaaah!มีจำนวนของas length of her hair - height of the towerเป็นเช่นเดียวกับ มิฉะนั้นผมของเธอไม่ได้มีความยาวเพียงพอและเธอก็เริ่มร้องไห้: Booho!ที่os ก่อนที่hเท่ากับสองในสามของheight of the tower - length of her hairและoหลังจากเอชเป็นส่วนที่เหลือ จำนวนos หลังจากที่Bต้องได้รับการปัดเศษดังนั้นถ้าคุณได้รับ2.6จะมี 3 oวินาที, และคนอื่น ๆ hจะต้องเป็นหลังจากที่ I / O คุณจะได้รับจำนวนเต็มบวก (รวมถึงโมฆะ) เป็นอาร์กิวเมนต์ในรายการหรือเป็นตัวเลขสองตัวตามลำดับที่คุณคิดว่าสะดวกที่สุด แต่คุณต้องระบุว่าคุณต้องเรียงลำดับใด ให้พิมพ์สิ่งที่ราพันเซลจะพูด กรณีทดสอบ ในกรณีทดสอบหมายเลขแรกจะเป็นความยาวของผม 0, 0 …
20 code-golf 

21
ภายในหมายเลขฟีโบนักชี
ความท้าทาย ได้รับการป้อนจำนวนเต็มส่งกลับหมายเลข Fibonacci แรกที่ประกอบด้วยการป้อนข้อมูลภายในตัวเองพร้อมกับดัชนีของหมายเลข Fibonacci นั้น (ดัชนีเริ่มต้นที่ 0 หรือ 1 - ขึ้นอยู่กับคุณ แต่โปรดระบุว่าในคำตอบของคุณ) ตัวอย่างเช่นหากกำหนดอินพุต 12 โปรแกรมจะส่งคืน26: 121393เป็น 12 พบภายในหมายเลข ( 12 1393) และอยู่ที่ดัชนี 26 ของหมายเลขฟีโบนักชี ตัวอย่าง รับอินพุต: 45 โปรแกรมของคุณควรส่งออก: 33: 3524578 การป้อนข้อมูล: 72 เอาท์พุท: 54: 86267571272 การป้อนข้อมูล: 0 เอาท์พุท: 0: 0 การป้อนข้อมูล: 144 เอาท์พุท: 12: 144 เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในแต่ละภาษาจะเป็นผู้ชนะ

29
เรียกใช้รายการสูงสุดที่สอง
รับรายการของจำนวนเต็มงานของคุณคือการส่งออกค่าที่ใหญ่ที่สุดที่สองในองค์ประกอบkแรกสำหรับแต่ละkระหว่าง 2 และความยาวของรายการอินพุต กล่าวอีกนัยหนึ่งเอาท์พุทค่าที่ใหญ่เป็นอันดับสองสำหรับแต่ละคำนำหน้าของอินพุต คุณสามารถส่งออกค่าตามอำเภอใจสำหรับองค์ประกอบแรก (โดยที่k = 1) หรือเพียงแค่ละเว้นค่านี้เนื่องจากไม่มีค่าสูงสุดที่สองสำหรับรายการขององค์ประกอบ 1 คุณอาจสมมติว่ามีองค์ประกอบอย่างน้อย 2 องค์ประกอบในอินพุต รหัสที่สั้นที่สุดชนะ ตัวอย่าง Input: 1 5 2 3 5 9 5 8 Output: 1 2 3 5 5 5 8 Input: 1 1 2 2 3 3 4 Output: 1 1 2 2 3 3 Input: 2 1 …

14
เครื่องคิดเลขการควบคุมบัตรสเปน ID
นี่เป็นอัลกอริทึมที่ง่ายมากซึ่งฉันแน่ใจว่าสามารถแก้ไขได้ในหลายภาษา ในบัตรประจำตัวประชาชนสเปน (รู้จักกันในชื่อDNI ) ประกอบด้วยตัวเลข 8 ตัวและตัวควบคุม อักขระควบคุมคำนวณด้วยอัลกอริทึมต่อไปนี้: หารตัวเลขด้วย 23 ใช้เวลาที่เหลือของการดำเนินการและแทนที่ด้วยอักขระตามตารางนี้: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 T R W A G M Y F P D X B N J Z S …

28
ตัวระบุเหล่านี้เทียบเท่ากันหรือไม่
ในภาษาNimกฎสำหรับการแยกความแตกต่างตัวระบุจะค่อนข้างผ่อนคลายกว่าภาษาอื่น ๆ ส่วนใหญ่เล็กน้อย ตัวระบุสองตัวมีค่าเท่ากันหรือระบุตัวแปรเดียวกันหากทำตามกฎเหล่านี้ : อักขระตัวแรกของทั้งคู่เหมือนกัน (case sensitive) สตริงทั้งสองจะเหมือนกัน(กรณีในที่สำคัญ)หลังจากลบทุกกรณีของตัวละคร-และ_ ท้าทาย เขียนโปรแกรม / ฟังก์ชั่นที่รับสองสายอักขระที่เป็นตัวแทนของตัวบ่งชี้นิ่มและส่งออกค่าจริงหรือเท็จตามว่าพวกเขาจะเทียบเท่าหรือไม่ตามกฎข้างต้น ข้อมูลจำเพาะ กฎระเบียบมาตรฐาน I / O ใช้ ช่องโหว่มาตรฐานจะต้องห้าม สตริงจะมี ASCII ที่พิมพ์ได้เท่านั้น คุณไม่จำเป็นต้องตรวจสอบว่าเป็นตัวระบุที่ถูกต้องหรือไม่ สตริงอาจถูกใช้เป็นอินพุตแยกกันสองรายการรายการสตริง ฯลฯ (คุณรู้จักการเจาะ) ไม่จำเป็นต้องจัดการสตริงว่าง เอาท์พุทจะต้องสอดคล้องกันสำหรับทั้งความจริงและความเท็จค่า ความท้าทายนี้ไม่ได้เกี่ยวกับการหาวิธีการที่สั้นที่สุดในทุกภาษาค่อนข้างมันเป็นเรื่องเกี่ยวกับการหาวิธีการที่สั้นที่สุดในแต่ละภาษา รหัสของคุณจะได้รับคะแนนเป็นไบต์มักจะอยู่ในการเข้ารหัส UTF-8 เว้นแต่จะระบุไว้เป็นอย่างอื่น อนุญาตให้ใช้ฟังก์ชันในตัวที่ทำงานนี้แต่รวมถึงโซลูชันที่ไม่ต้องพึ่งพาในตัว คำอธิบายแม้สำหรับภาษา "ปฏิบัติ" จะได้รับการสนับสนุน กรณีทดสอบ Input Output count, Count falsey lookMaNoSeparator, answer falsey _test, test falsey test, …

14
Pascal's Rhombus
Pascal's Rhombus (ซึ่งจริงๆแล้วเป็นรูปสามเหลี่ยม) ได้มาจากการเพิ่มในรูปแบบ: * *** x แทน * * x ซึ่งหมายความว่าแต่ละเซลล์คือผลรวมของสามเซลล์ในแถวที่อยู่เหนือมันโดยตรงและหนึ่งเซลล์ในแถวที่ 2 ที่อยู่เหนือมัน เช่นเดียวกับสามเหลี่ยมของปาสคาลแถวซีโรทมีหนึ่งอัน1ที่สร้างสามเหลี่ยม นี่คือสองแถวแรกของรูปสี่เหลี่ยมขนมเปียกปูนของ Pascal 1 1 1 1 1 2 4 2 1 1 3 8 9 8 3 1 งาน กำหนดหมายเลขแถว (เริ่มต้นจากด้านบน) และหมายเลขคอลัมน์ (เริ่มจากรายการที่ไม่ใช่ศูนย์แรกในแถวนั้น) ส่งออกค่าที่เซลล์นั้น ๆ อินพุตทั้งสองอาจเป็นดัชนี 1 หรือ 0 (คุณอาจผสมและจับคู่หากคุณต้องการ) นี่คือcode-golfดังนั้นคุณควรตั้งเป้าหมายที่จะทำให้ขนาดไฟล์ของซอร์สโค้ดของคุณเล็กที่สุดเท่าที่จะทำได้ OEIS A059317

30
สี่เหลี่ยมจัตุรัสเป็นอย่างไร
ในฐาน-10 ทั้งหมดสี่เหลี่ยมที่สมบูรณ์แบบสิ้นสุดใน0 , 1 , 4 , 5 , 6หรือ9 ในฐาน-16 ทั้งหมดสี่เหลี่ยมที่สมบูรณ์แบบสิ้นสุดใน0 , 1 , 4หรือ9 Nilknarf อธิบายว่าทำไมสิ่งนี้ถึงเป็นอย่างไรและทำอย่างไรให้ได้ผลดีในคำตอบนี้แต่ฉันจะให้คำอธิบายสั้น ๆ ที่นี่: เมื่อยกกำลังสองจำนวน Base- N , Nหลัก "คน" จะไม่ได้รับผลกระทบจากสิ่งที่อยู่ในหลัก "หมื่น" หรือ "ร้อย" หลักเป็นต้น เฉพาะตัวเลข "คน" ในN เท่านั้นที่มีผลกับตัวเลข "คน" ในN 2ดังนั้นวิธีที่ง่าย (แต่อาจไม่ใช่นักกอล์ฟที่สุด) ในการค้นหาตัวเลขสุดท้ายที่เป็นไปได้ทั้งหมดสำหรับN 2คือการหาn 2 mod 10สำหรับทั้งหมด0 <= n < 10 ผลลัพธ์แต่ละรายการเป็นตัวเลขสุดท้ายที่เป็นไปได้ สำหรับ …

30
คุณค่าของฉันอยู่ที่ไหน
ตอนนี้เจ้านายของฉันต้องการให้ฉันใช้กลไกที่ช่วยให้เขาค้นหารายการในอาร์เรย์และให้ดัชนี / ดัชนีที่มีค่านั้นเกิดขึ้น งานของคุณ: เขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับอาร์เรย์และค่า (String, Integer, Float หรือ Boolean) และส่งกลับดัชนีของอาร์เรย์ที่มีค่าเกิดขึ้น (0 หรือ 1 ดัชนีตามที่คุณต้องการ) หากค่าไม่ได้อยู่ในอาร์เรย์ให้ส่งคืนอาร์เรย์ว่าง การป้อนข้อมูล: อาร์เรย์ A และค่า V ที่อาจมีหรือไม่มีใน A เอาท์พุท: อาร์เรย์ที่มีดัชนี (s) ที่ V เกิดขึ้นใน A หรือถ้า V ไม่เกิดขึ้นใน A หมายถึงอาร์เรย์ว่าง กรณีทดสอบ: โปรดทราบว่ากรณีทดสอบเป็น 0 12, [12,14,14,2,"Hello World!",3,12,12] -> [0,6,7] "Hello World", ["Hi", "Hi World!", 12,2,3,True] -> …

4
จำแนก Quadrilaterals | ช่วยฉันด้วยการสอบคณิตศาสตร์!
ช่วยด้วย! การสอบคณิตศาสตร์ของฉันกำลังจะมาในไม่ช้าและฉันไม่ได้เรียน! 1ส่วนหนึ่งของการสอบคือการจำแนกรูปสี่เหลี่ยมขนมเปียกปูนเนื่องจากพิกัดจุดยอดของมันซึ่งน่าเสียดายที่ฉันไม่รู้วิธีการทำ 2 ดังนั้นความท้าทายของคุณคือการเขียนโปรแกรมเพื่อทำสิ่งนี้ให้ฉันดังนั้นฉันจึงไม่ล้มเหลว! ท้าทาย ให้สี่จุดยอดที่ไม่มีสาม colinear กำหนดประเภทที่เฉพาะเจาะจงมากที่สุดของรูปสี่เหลี่ยมที่เกิดจากจุดยอดทั้งสี่ สิ่งที่ฉันหมายถึงโดย "การจำแนกเฉพาะส่วนใหญ่" คือแม้ว่าสี่เหลี่ยมทั้งหมดเป็นสี่เหลี่ยมถ้ารูปร่างเป็นสี่เหลี่ยมคุณควรระบุว่ามันเป็นสี่เหลี่ยมจัตุรัสและไม่ได้ระบุว่ามันเป็นสี่เหลี่ยม อินพุต อินพุตจะได้รับเป็นพิกัดสี่ (x, y) คุณสามารถใช้รายการเหล่านี้เป็นรายการความยาว 4 จากรายการ / tuples ของความยาว 2 หรือคุณสามารถป้อนข้อมูลเป็นรายการของพิกัด x และรายการของพิกัด y ที่เกี่ยวข้อง ตัวอย่างเช่นถ้ารูปร่างของฉันมีจุดที่จุด(0, 0), (5, 0), (6, 1)และ(1, 1)คุณอาจเลือกที่จะใช้การป้อนข้อมูลทั้งในรูปแบบต่อไปหรือบางสิ่งบางอย่างที่คล้ายกัน: [(0, 0), (5, 0), (6, 1), (1, 1)] ([0, 5, 6, 1], [0, 0, 1, …

16
มีการเกิดตัวเลขในแถว / คอลัมน์ในเมทริกซ์ N ครั้งติดต่อกันหรือไม่?
รับเมทริกซ์A ที่ประกอบด้วยเลขจำนวนเต็มบวกและเลขจำนวนเต็มบวกN ตัวเดียวเป็นอินพุตและพิจารณาว่ามีเหตุการณ์ที่เกิดขึ้นติดต่อกันอย่างน้อยN ตัวของตัวเลขเดียวกันในแถวหรือคอลัมน์ใด ๆ ในเมทริกซ์ คุณต้องการทดสอบแนวนอนและแนวตั้งเท่านั้น กรณีทดสอบ N = 1 A = 1 Result: True ---------------- N = 3 A = 1 1 1 2 2 3 Result: True ---------------- N = 4 A = 1 1 1 2 2 3 Result: False ---------------- N = 3 A = …

22
ลดความซับซ้อนของการป้อนข้อมูลเมทริกซ์!
ฉันได้เขียนความท้าทายสองสามข้อที่เกี่ยวข้องกับเมทริกซ์และสิ่งที่พบโดยทั่วไปสำหรับฉันคือฉันใช้รูปแบบเหมือนด้านล่างเมื่อแสดงเมทริกซ์ทั้งในตัวอย่างและในกรณีทดสอบ: 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 นี่เป็นรูปแบบที่ยุ่งยากในหลายภาษา ท้าทาย: เขียนโปรแกรม / ฟังก์ชั่นที่สามารถใช้เมทริกซ์ในแบบฟอร์มที่กำหนดในด้านบนเป็น input (โดยตรงคัดลอก / วางจากการโพสต์นี้) และเอาท์พุทเมทริกซ์เดียวกันในทั้งสามรูปแบบทั่วไปอื่น ๆ ที่แสดงด้านล่าง รูปแบบอินพุต: ตัวเลขคั่นด้วยจำนวนช่องว่างที่แตกต่างกันและขึ้นบรรทัดใหม่เพื่อแสดงแถว (ดูกรณีทดสอบ) จำนวนช่องว่างระหว่างหมายเลขไม่รับประกันว่าจะสอดคล้องกัน อย่างไรก็ตามคุณอาจสันนิษฐานได้ว่าตัวเลขสุดท้ายในแต่ละคอลัมน์นั้นเรียงกัน (หากมีประโยชน์) สามารถมีได้ทั้งจำนวนเต็มและลอยและพวกเขาสามารถบวกลบหรือศูนย์ เมทริกซ์จะไม่ประกอบด้วยจำนวนเต็มและลอยในเวลาเดียวกัน คุณอาจคิดว่าไม่มีตัวเลขใดยาวเกิน 10 ตัวอักษรรวมถึงเครื่องหมายลบและจุดทศนิยมสำหรับการลบแบบลอย คุณอาจคิดว่ามีจำนวนรายการเท่ากันในแต่ละแถวและในแต่ละคอลัมน์ จะไม่มีเมทริกซ์อินพุตว่างเปล่า แต่อาจมีตัวเลขเดี่ยวหรือเมทริกซ์ที่มีแถวหรือคอลัมน์เดียวเท่านั้น ในกรณีเหล่านี้คุณสามารถเลือกรูปแบบผลลัพธ์ที่แสดงในกรณีทดสอบ โปรแกรม / ฟังก์ชั่นของคุณจะต้องจัดการอินพุตถ้ามันถูกคัดลอกโดยตรงจากโพสต์นี้และวางลงในล่าม (STDIN หรือเป็นอาร์กิวเมนต์ของฟังก์ชันหรือสิ่งที่เทียบเท่า) คุณอาจมีสิ่งที่คุณต้องการ …

18
มันซ้ำแล้วซ้ำอีก?
สตริงอักขระซ้ำหากมีสตริงย่อยสองรายการติดต่อกันที่เทียบเท่า ตัวอย่างเช่น2034384538452ทำซ้ำเนื่องจากมี3845สองครั้งติดต่อกัน ดังนั้นความท้าทายของคุณคือการตัดสินใจว่าสตริงมีสตริงย่อยที่ซ้ำกันหรือไม่ คุณอาจรับอินพุตเป็นสตริงหรืออาเรย์ของอักขระ คุณจะไม่ได้รับอินพุตว่างเปล่าและความยาวของสตริงย่อย (ถ้ามี) อาจเป็น 1 หรือมากกว่า ฉันใช้1และ0นี่เป็นค่าความจริงและเป็นเท็จของฉัน แต่คุณอาจใช้ค่าที่แตกต่างกันตราบใดที่พวกเขามีความจริงและเป็นเท็จในภาษาของคุณ ตัวอย่าง: abcab -> 0 bdefdefg -> 1 Hello, World! -> 1 pp.pp/pp -> 1 q -> 0 21020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120210121020121012021012102012021020121012021012102012101202102012021012102012021020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120210121020120210201210120210201202101210201210120210121020120210201210120210121020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120 -> 0 (ตัวอย่างสุดท้ายถูกสร้างขึ้นจากจำนวนของแต่ละศูนย์ในลำดับ Thue-Morse)

30
ฉันเป็นหมายเลข Automorphic หรือไม่
ตัวเลข Automorphic คือตัวเลขซึ่งเป็นส่วนต่อท้ายของตารางในฐาน 10 นี่คือลำดับA003226ใน OEIS งานของคุณ: เขียนโปรแกรมหรือฟังก์ชั่นเพื่อตรวจสอบว่าอินพุตเป็นตัวเลข Automorphic หรือไม่ การป้อนข้อมูล: จำนวนเต็มตั้งแต่ 0 ถึง 10 ^ 12 (รวม) ซึ่งอาจเป็นหรือไม่ได้เป็นตัวเลข Automorphic เอาท์พุท: ค่าความจริง / เท็จแสดงว่าอินพุตเป็นตัวเลข Automorphic หรือไม่ ตัวอย่าง: 0 -> truthy 1 -> truthy 2 -> falsy 9376 -> truthy 8212890625 -> truthy เกณฑ์การให้คะแนน: นี่คือโค้ดกอล์ฟคะแนนต่ำสุดเป็นไบต์ชนะ

13
วาดกระดานซูโดกุโดยใช้อักขระวาดเส้น
นี่คือรหัสกอล์ฟ สำหรับความท้าทายนี้ฉันจะยอมรับวิธีการ (คุณไม่จำเป็นต้องใช้โปรแกรมเต็มรูปแบบ) แต่ลายเซ็นวิธีจะนับรวมกับจำนวนไบต์และฉันต้องการดูลายเซ็นแบบเต็ม (ไม่ใช่ lamdba) อินพุตสำหรับวิธีการนี้เป็นอาร์เรย์จำนวนเต็มที่มีองค์ประกอบ 81 รายการ ค่าเอาต์พุต / ส่งคืนจากเมธอดคือสตริงที่แทนอาร์เรย์เป็นบอร์ด ascii sudoku หากคุณใช้ภาษาลึกลับหรือบางสิ่งบางอย่างที่ไม่มีวิธีการอย่างใดอย่างหนึ่งคุณสามารถปรับเปลี่ยนได้ แต่ถ้าภาษานั้นสนับสนุนสิ่งนี้ฉันต้องการเห็นบางสิ่งบางอย่างอาจจะเสียบเข้ากับโปรแกรมที่ "ไม่เป็นจริง" แม้ว่า วิธีร่างกายตัวเองเป็นความเจ็บปวดในการทำงานกับ ความต้องการไม่ได้หมายถึงการปิดกั้นภาษาเช่น Jelly หรือ 05AB1E แต่เพื่อให้ง่ายขึ้นสำหรับภาษาเช่น Java เพื่อสร้างสิ่งที่สมเหตุสมผลสำหรับแพลตฟอร์มนั้น สำหรับอินพุตค่าจำนวนเต็ม 1-9 ควรมีความหมายที่ชัดเจน 0 ควรตีความเป็นเซลล์ว่างเสมอ คุณอาจตีความสิ่งอื่นนอกเหนือจากช่วง 1-9 เป็นเซลล์ว่าง แต่ไม่จำเป็น การจัดตำแหน่งจากอาร์เรย์ไปยังตัวต่อปริศนาจะเริ่มต้นที่ด้านบนซ้ายและเติมแต่ละแถวจากซ้ายไปขวาก่อนที่จะย้ายไปยังแถวถัดไป สำหรับกล่องฉันต้องการเส้นคู่รอบนอกและระหว่างแต่ละพื้นที่ 3x3 และบรรทัดเดียวระหว่างเซลล์อื่น สิ่งเหล่านี้ควรวาดด้วยอักขระวาดเส้น (หากรูปแบบ I / O ของคุณแทนสตริงเป็นลำดับของไบต์แทนที่จะเป็นลำดับอักขระคุณควรแสดงอักขระเหล่านั้นในการเข้ารหัสที่รู้จักกันดีเช่น UTF-8 หรือ codepage 347) สำหรับความท้าทายนี้ฉันไม่ได้ขอให้คุณสร้างตัวต่อซูโดกุ …

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