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

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

6
ฉันไม่ชอบการเปลี่ยนแปลง!
การป้อนข้อมูล: สองสายที่ไม่มีบรรทัดใหม่หรือช่องว่าง เอาท์พุท: ทั้งสองสายการป้อนข้อมูลบนเส้นที่แยกต่างหากที่มีช่องว่างในกรณีที่จำเป็น†หนึ่งในสองสาย และสายที่สามกับตัวละครA, R, Mและคิดเป็นเพิ่ม , ลบออก , การแก้ไขและเปลี่ยนแปลง †เราเพิ่มช่องว่างให้กับสตริงป้อนข้อมูลด้านบนหรือด้านล่าง (ถ้าต้องการ) เป้าหมายของการท้าทายนี้คือการส่งออกมีจำนวนน้อยที่สุดของการเปลี่ยนแปลง ( ARM) เป็นไปได้ยังเป็นที่รู้จักLevenshtein ระยะทาง ตัวอย่าง: สมมติว่าสตริงอินพุตเป็นABCDEFและAFBECDจากนั้นผลลัพธ์จะเป็น: A B CDEF AFBECD A A RR ต่อไปนี้เป็นตัวอย่างเอาต์พุตที่ไม่ถูกต้องอื่น ๆ ที่เป็นไปได้ (และมีอีกมาก): ABCDEF AFBECD MMMMM A BCDEF AFBECD A MMMR AB CDEF AFBECD MAMMMR ABC DEF AFBECD MMAMMR ABC DEF AFBECD …
19 code-golf  string 

15
ค้นหารายการอย่างละเอียด
สำหรับความท้าทายนี้รายการจะถือว่าถูกต้องหากว่าประกอบด้วยจำนวนเต็มและรายการที่ถูกต้องทั้งหมด (นิยามแบบเรียกซ้ำ \ o /) สำหรับความท้าทายนี้ให้รายการที่ถูกต้องและจำนวนเต็มกลับรายการของความลึกทั้งหมดที่สามารถพบจำนวนเต็ม ตัวอย่าง ลองพิจารณารายชื่อและจำนวนเต็ม[1, [2, [3, [1, 2, 3], 4], 1], 1] 1จากนั้นเราสามารถดึงรายการเช่นนี้: Depth 0 1 2 3 Num 1 2 3 1 2 3 4 1 1 คุณจะพบว่าการแสดงขึ้นที่ระดับความลึก1 0, 1, 3ดังนั้นผลลัพธ์ของคุณควรอยู่0, 1, 3ในรูปแบบที่สมเหตุสมผล (ลำดับไม่สำคัญ) ความลึกอาจเป็นดัชนี 0- หรือ 1 แต่โปรดระบุในสิ่งที่คุณส่ง กรณีทดสอบ (ดัชนี 0) สำหรับรายการ[1,[2,[3,4],5,[6,7],1],[[[[5,2],4,[5,2]]],6],3]: 1 -> …

21
มันสั่นไหวเป็นระยะหรือไม่?
ท้าทาย กำหนดรายการให้ตรวจสอบว่าการจัดกลุ่มรายการในการเพิ่มและลดองค์ประกอบจะส่งผลให้รายการของรายการขนาดเท่ากันหรือไม่ กล่าวอีกนัยหนึ่ง "จุดเปลี่ยน" ของรายการนั้นเว้นระยะเท่ากัน ตัวอย่าง นี่คือตัวอย่าง: 0, 3, 7, 5, 2, 3, 6 0, 3, 7เพิ่มขึ้น7, 5, 2ลดลงและ2, 3, 6เพิ่มขึ้น ดังนั้นนี่คือความจริง ตัวอย่างอื่น: 1, 4, 6, 8, 5, 3, 5, 7, 9 1, 4, 6, 8เพิ่มขึ้น8, 5, 3ลดลงและ3, 5, 7, 9เพิ่มขึ้น ดังนั้นนี่เป็นเท็จ กฎและข้อมูลจำเพาะ องค์ประกอบที่อยู่ติดกันจะไม่เท่ากัน ตัวเลขทั้งหมดสามารถสันนิษฐานได้ว่าอยู่ในช่วงหมายเลขที่เหมาะสมของภาษาของคุณ คุณอาจคิดว่าตัวเลขทั้งหมดเป็นจำนวนเต็มถ้ามันช่วยให้คุณส่งข้อมูลได้ นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดชนะ ป้อนข้อมูลเป็นรายการในการแสดงและเอาท์พุทที่สมเหตุสมผลเช่นค่าความจริง / เท็จ …

5
นี่เป็นตารางที่แพ้หรือเปล่า?
มีเกมชื่อGet Homeที่เล่นบนกระดานหมากรุก ในเกมนี้มีชิ้นส่วนเดียวที่ผู้เล่นทั้งคู่หันกัน มีกฎบางอย่างที่สามารถเคลื่อนย้ายชิ้นส่วนได้ ที่เปิดให้ผู้เล่นจะต้องทำอย่างใดอย่างหนึ่งของการเคลื่อนไหวต่อไปนี้สำหรับบวกn ไม่มีที่ว่างขึ้น ไม่มีช่องว่างทางด้านซ้าย ช่องว่างnขึ้นและไปทางซ้าย (เส้นทแยงมุม) ผู้เล่นที่ย้ายชิ้นส่วนไปที่มุมซ้ายบนของกระดานชนะเกม ตอนนี้เราจะกำหนดแนวคิดของสี่เหลี่ยมจัตุรัสที่แพ้ ในวิดีโอนี้ (จากจุดที่ฉันมีความคิด) สี่เหลี่ยมจัตุรัสที่แพ้ถูกกำหนดให้เป็นสี่เหลี่ยมจัตุรัสซึ่งผู้เล่นที่เริ่มต้นเทิร์นของพวกเขาจะถูกบังคับให้ย้ายเพื่อให้คู่ต่อสู้บังคับให้ชนะ ตัวอย่างที่ง่ายที่สุดของสี่เหลี่ยมจัตุรัสที่แพ้คือสี่เหลี่ยมที่ (1,2) ชิ้นส่วนที่ (1,2) สามารถย้ายไปยังสถานที่ต่อไปนี้ ทั้งหมดนี้มีเส้นทางตรงสู่ชัยชนะสำหรับผู้เล่นคนต่อไป นอกจากนี้ยังตามด้วยช่องสี่เหลี่ยมใด ๆ ที่มีเส้นทางการเคลื่อนที่หนึ่งเส้นทางไปยังจตุรัสที่แพ้จะอนุญาตให้ผู้เล่นเริ่มต้นบนสี่เหลี่ยมนั้นเพื่อบังคับให้ชนะ ซึ่งหมายความว่าสี่เหลี่ยมจัตุรัสใด ๆ ที่ไม่ได้เคลื่อนย้ายออกไปจากจตุรัสที่แพ้ก็เป็นสี่เหลี่ยมจัตุรัสที่แพ้ด้วย นี่นำเรามาสู่นิยามที่ค่อนข้างเรียบร้อยของสี่เหลี่ยมจัตุรัสที่แพ้: สี่เหลี่ยมจัตุรัสที่สูญเสียเป็นสี่เหลี่ยมจัตุรัสซึ่งไม่มีการเคลื่อนที่ใดจะมาถึงสี่เหลี่ยมจัตุรัสอีกอันหนึ่งได้และ (0,0) เป็นสี่เหลี่ยมจัตุรัสที่แพ้ งาน เมื่อพิจารณาพิกัดของสี่เหลี่ยมจัตุรัสบนกระดานหมากรุกขนาดที่ไม่มีกฎเกณฑ์จะตัดสินว่ามันเป็นสี่เหลี่ยมจัตุรัสที่สูญหายหรือไม่ เอาท์พุทสองค่าหนึ่งสำหรับการสูญเสียสี่เหลี่ยมและหนึ่งสำหรับคนอื่น ๆ นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์โดยไบต์น้อยจะดีขึ้น กรณีทดสอบ นี่คือสี่เหลี่ยมที่หายไปทั้งหมดบนกระดานหมากรุก 8 คูณ 8 ตัว (ทำเครื่องหมายด้วย 0) 0 1 1 1 1 1 1 …

14
หมายเลข Lynch-Bell มีกี่หมายเลข
ท้าทาย ได้รับจำนวนเต็มnเป็น input ที่การส่งออกจำนวนตัวเลขที่ลินช์เบลล์ที่มีอยู่ในฐาน36 >= n >= 2n เอาต์พุตจะต้องอยู่ในฐาน 10 หมายเลข Lynch-Bell ตัวเลขคือหมายเลข Lynch-Bell หาก: ตัวเลขทั้งหมดไม่ซ้ำกัน (ไม่มีการซ้ำซ้อนของตัวเลข) ตัวเลขหารด้วยตัวเลขแต่ละหลัก มันไม่ได้มีศูนย์เป็นหนึ่งในหลัก เนื่องจากตัวเลขทั้งหมดจะต้องไม่ซ้ำกันและคุณมีชุดของตัวเลขหลักเดียวในแต่ละฐานมีจำนวน จำกัด ของหมายเลข Lynch-Bell ตัวอย่างเช่นในฐาน 2 มีหมายเลข Lynch-Bell เพียงหมายเลขเดียวเท่านั้น1เนื่องจากตัวเลขอื่น ๆ ทั้งหมดเป็นตัวเลขซ้ำหรือมี 0 ตัวอย่าง Input > Output 2 > 1 3 > 2 4 > 6 5 > 10 6 > 10 …

27
ค้นหาโพลีทองของฉัน!
สำหรับจุดประสงค์ของการท้าทายนี้polyphthongถูกกำหนดให้เป็นส่วนต่อเนื่องของ String ที่ประกอบด้วยสระและมีความยาวอย่างน้อย 2 ให้สตริงที่ไม่ว่างเปล่าเป็นอินพุตงานของคุณคือส่งออก polyphthongs ทั้งหมดที่มี . ตัวอย่างเช่น"abeoic"มีชิ้นส่วนที่ต่อเนื่องกัน (คั่นด้วยช่องว่าง) ต่อไปนี้: a b e o i c ab be eo oi ic abe beo eoi oic abeo beoi eoic abeoi beoic abeoic การลบสิ่งที่มีสิ่งอื่นที่ไม่ใช่เสียงสระหรือมีความยาวน้อยกว่า 2 เราจะได้โพลีทองที่เราต้องการ: eo oi eoi การส่งของคุณจะต้องปฏิบัติตามกฎต่อไปนี้: คุณสามารถเลือกตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่สำหรับ I / O แต่ตัวพิมพ์ออกจะต้องตรงกับตัวพิมพ์เล็ก เสียงสระคือaeiou(สำหรับตัวพิมพ์เล็ก) และAEIOU(สำหรับตัวพิมพ์ใหญ่) y/ Yไม่ถือว่าเป็นเสียงสระ อินพุตจะมีเฉพาะ ASCII …
19 code-golf  string 

27
คำนวณพื้นที่ของรูปหลายเหลี่ยมปกติ
รับจำนวนเต็มnที่ไหน3 <= n < 2^32คำนวณพื้นที่ของปกติn-gon กับ apothem ของ 1; n * tan(π / n)สูตรสำหรับซึ่งเป็น สำหรับผู้ที่ไม่ทราบว่า apothem คืออะไร: Apothem ของรูปหลายเหลี่ยมปกติคือส่วนของเส้นตรงจากจุดกึ่งกลางไปยังจุดกึ่งกลางของด้านใดด้านหนึ่ง เอาต์พุตพื้นที่ของn-gon เป็นจุดลอยตัวที่มีทศนิยมไม่ต่ำกว่า 8 ตำแหน่ง กรณีทดสอบ 3 5.1961524227 6 3.4641016151 10 3.2491969623 20 3.1676888065 99 3.1426476062 1697 3.1415962425 15000 3.1415926995 หมายเหตุ: กรณีทดสอบด้านบนมีตัวเลข 2 หลักมากกว่าที่คุณต้องการเพื่อส่งออก

30
สุ่มเลือกจากอาร์เรย์
ความท้าทายนี้ค่อนข้างง่าย: คุณจะได้รับอาร์เรย์จำนวนเต็มบวก (ไม่รวม 0) และต้องเลือกองค์ประกอบแบบสุ่มจากอาร์เรย์นี้ แต่นี่คือความบิดเบี้ยว: ความน่าจะเป็นของการเลือกองค์ประกอบขึ้นอยู่กับค่าของจำนวนเต็มซึ่งหมายความว่าเมื่อจำนวนเต็มที่โตขึ้นความน่าจะเป็นของการเลือกองค์ประกอบก็เป็นเช่นกัน! ตัวอย่าง [4, 1, 5]คุณจะได้รับอาร์เรย์ ความน่าจะเป็นของการเลือก 4 เท่ากับ4 หารด้วยผลรวมขององค์ประกอบทั้งหมดในอาร์เรย์ในกรณี4 / ( 4 + 1 + 5 ) = 4 / 10 =40%นี้ ความน่าจะเป็นของการเลือก 1 หรือ1 / 1010% อินพุต อาร์เรย์ของจำนวนเต็มบวก เอาท์พุต stdoutกลับจำนวนเต็มเลือกถ้าใช้วิธีการหรือโดยตรงพิมพ์ไป กฎระเบียบ นี่คือโค้ดกอล์ฟที่สั้นที่สุดในหน่วยไบต์ในภาษาใด ๆ ที่ชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม

8
เส้นทางที่เหมาะสมผ่านเมทริกซ์
รับเมทริกซ์ที่ประกอบด้วยจำนวนเต็มบวกเอาท์พุทพา ธ ด้วยผลรวมต่ำสุดเมื่อเคลื่อนที่จากองค์ประกอบบนซ้ายไปขวาล่าง คุณสามารถเคลื่อนที่ในแนวตั้งแนวนอนและแนวทแยงมุม โปรดทราบว่าเป็นไปได้ที่จะเลื่อนขึ้น / ลง, ขวา / ซ้ายและแนวทแยงมุมไปทุกด้าน ตัวอย่าง: 1* 9 7 3 10 2 2 10 4* 1* 1* 1* 7 8 3 6 3 8 9 5* 7 8 10 2 5 2 1* 4 5 1 1 3 6 7 9* เส้นทางให้ผลรวมต่ำสุดจะมีเครื่องหมายดอกจันและผลในผลรวมต่อไปนี้: 1 + 4 …

12
การแปลงฐานจริง
เรามีความท้าทายเล็กน้อยสำหรับการแปลงฐาน แต่สิ่งเหล่านี้ดูเหมือนจะนำไปใช้กับค่าจำนวนเต็ม มาทำกับตัวเลขจริง! ความท้าทาย ปัจจัยการผลิต: จำนวน จริงบวกxแสดงในฐาน 10 ซึ่งสามารถนำมาเป็นทศนิยมความแม่นยำสองเท่าหรือเป็นสตริง เพื่อหลีกเลี่ยงปัญหาความแม่นยำจำนวนที่สามารถสันนิษฐานว่าจะเป็นมากกว่า 10 -6และน้อยกว่า 10 15 ฐานเป้าหมาย ข นี่จะเป็นจำนวนเต็มตั้งแต่ 2 ถึง 36 จำนวนเศษส่วนตัวเลข n นี่จะเป็นจำนวนเต็มตั้งแต่ 1 ถึง 20 เอาท์พุท: การเป็นตัวแทนของxในฐานขกับตัวเลขเศษส่วนn เมื่อคำนวณนิพจน์ผลลัพธ์ตัวเลขที่เกินn- th ควรถูกปัดเศษ (ไม่ปัดเศษ) ตัวอย่างเช่นx = 3.141592653589793ในฐานb = 3คือ10.0102110122...ดังนั้นสำหรับn = 3ผลลัพธ์จะเป็น10.010(ตัด) ไม่ใช่10.011(ปัดเศษ) สำหรับxและbที่สร้างจำนวน จำกัด ของตัวเลขในส่วนที่เป็นเศษส่วนอนุญาตให้ใช้การแทนค่าอนันต์ที่เทียบเท่ากัน (ตัดให้เหลือnหลัก) ยกตัวอย่างเช่นในทศนิยมนอกจากนี้ยังสามารถแสดงเป็น4.54.49999... ไม่ต้องกังวลเกี่ยวกับข้อผิดพลาดจุดลอย รูปแบบอินพุตและเอาต์พุต xจะได้รับโดยไม่มีศูนย์นำหน้า หากxเกิดขึ้นเป็นจำนวนเต็มคุณสามารถสันนิษฐานได้ว่าจะได้รับส่วนทศนิยมศูนย์ ( …

6
ลำดับการตีกลับ
ขอให้เรากำหนดลำดับ เราจะบอกว่าa ( n )a(n)a(n)เป็นจำนวนที่น้อยที่สุดxxxซึ่งมีคุณสมบัติดังต่อไปนี้: xxxและnnnเป็น co-prime (ไม่มีส่วนร่วม) xxxไม่ปรากฏขึ้นก่อนหน้าในลำดับ | n - x | > 1|n-x|>1|n - x| > 1 ซึ่งแตกต่างจากลำดับส่วนใหญ่โดเมนและช่วงของลำดับของเราเป็นจำนวนเต็มมากกว่า 1 ขอให้เราคำนวณคำศัพท์สองคำแรก a ( 2 )a(2)a(2)ต้องมีอย่างน้อย4แต่4และ2หุ้นปัจจัยของ2เพื่อ ( 2 )ต้องเป็น5a ( 2 )a(2)a(2) a ( 3 )a(3)a(3)ต้องมีอย่างน้อย5แต่5ถูกใช้โดยa ( 2 )a(2)a(2)ดังนั้นจึงเป็นอย่างน้อย6แต่6ใช้ปัจจัยร่วมกับ3ดังนั้นจะต้องมีอย่างน้อย7,7ตอบสนองความต้องการทั้งสามนี้ดังนั้นa ( 3 ) = 7a(3)=7a(3)=7 7 a ( 4 )a(4)a(4) …

14
ค้นหาลำดับการสลับลับ
นี่คือตำรวจและโจรท้าทายด้ายโจรสามารถพบได้ที่นี่ งานของคุณคือการเขียนรหัสบางอย่างที่ส่งออกลำดับ OEIS และมีชื่อของลำดับในรหัส ( A______) และส่งออกลำดับที่สองแยกเมื่อชื่อของลำดับในรหัสเปลี่ยนเป็นชื่อของลำดับที่สอง นี่คือตัวอย่างใน Haskell ว่างานสำหรับA000217และA000290 f x|last"A000217"=='0'=x^2|1>0=sum[1..x] ลองออนไลน์! จากนั้นคุณจะต้องเปิดเผยหนึ่งในสองลำดับและรหัสที่รักษาความลับลำดับที่สอง โจรจะพยายามหาลำดับที่ซ่อนอยู่ หากโจรสามารถระบุลำดับของคุณ (หรือลำดับอื่นที่ตรงกับเกณฑ์) ที่คุณตอบอยู่ หากไม่มีคำตอบในหนึ่งสัปดาห์ของการโพสต์คุณอาจทำเครื่องหมายคำตอบของคุณว่าปลอดภัยและเปิดเผยวิธีแก้ปัญหาที่ต้องการสำหรับการตรวจสอบ คำตอบที่ปลอดภัยไม่สามารถถอดรหัสได้ อินพุตเอาต์พุต ถ่ายจากที่นี่ รหัสของคุณอาจเป็นฟังก์ชั่นหรือโปรแกรมสมบูรณ์ที่ใช้nผ่านวิธีการป้อนข้อมูลมาตรฐานและส่งออกคำที่nของลำดับตามดัชนีโดยดัชนีที่ให้ไว้ในหน้า OEIS คุณต้องสนับสนุนค่าทั้งหมดที่มีให้ในไฟล์ OEIS b สำหรับลำดับนั้นหมายเลขใด ๆ ที่ไม่ได้อยู่ในไฟล์ b ไม่จำเป็นต้องได้รับการสนับสนุน เกณฑ์การให้คะแนน คะแนนของคุณจะเป็นจำนวนไบต์ในรหัสของคุณโดยน้อยกว่าจะดีกว่า

21
ฟังตัวเลข
กำหนดจำนวนจริงให้แปลงเป็นรายการโดยมีเครื่องหมายลบ (ถ้ามี) กลายเป็นรายการว่างส่วนจำนวนเต็มกลายเป็นรายการของตัวเลขและส่วนที่เป็นเศษส่วน (ถ้ามี) กลายเป็นรายการของตัวเลข ตัวเลขต้องเป็นตัวเลขจริงไม่ใช่สตริง ตัวอย่าง 0 → [[0]] 123 → [[1,2,3]] -123 → [[],[1,2,3]] 123.45 → [[1,2,3],[4,5]] 0.45 → [[0],[4,5]] -0.45 → [[],[0],[4,5]] -123.45 → [[],[1,2,3],[4,5]]
19 code-golf  number 

30
รับสองอาร์เรย์ที่ดีที่สุด
คุณจะได้รับสองอาร์เรย์ของตัวเลขทศนิยม งานของคุณคือการจับคู่องค์ประกอบที่สอดคล้องกันของสองอาร์เรย์และรับค่าสูงสุดของแต่ละคู่ อย่างไรก็ตามหากองค์ประกอบที่เกี่ยวข้องทั้งสองนั้นเท่ากันคุณจะต้องนำผลรวมของพวกเขามาแทน ตัวอย่างเช่นให้รายการ[1, 3, 3.2, 2.3]และ[3, 1, 3.2, 2.6]คุณต้องทำต่อไปนี้: จับคู่องค์ประกอบ [[1, 3], [3, 1], [3.2, 3.2], [2.3, 2.6]](หรือไปรษณีย์): [3, 3, 6.4, 2.6]ผ่านไปแต่ละคู่และใช้กระบวนการข้างต้น: รายละเอียด อาร์เรย์ / รายการจะมีความยาวเท่ากันเสมอ อย่างไรก็ตามอาจว่างเปล่า ตัวเลขที่อยู่ในนั้นจะเหมาะสมกับความสามารถของภาษาของคุณเสมอตราบใดที่คุณไม่ใช้สิ่งที่ไม่เหมาะสม พวกเขาอาจเป็นบวกศูนย์หรือเชิงลบคุณต้องจัดการทุกประเภท หากช่วยลดจำนวนไบต์คุณอาจใช้ความยาวของรายการเป็นอินพุต กฎระเบียบ นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ ใช้กฎอินพุตและเอาต์พุตมาตรฐาน คุณสามารถรับอินพุต (และเอาต์พุต) ในรูปแบบที่เหมาะสม ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม กรณีทดสอบ Array_1, Array_2 -> เอาท์พุท [], [] -> [] [1, 2, 3], …

19
แยก Local Maxima
ให้อาร์เรย์ของจำนวนเต็มบวกส่งออกอาร์เรย์ขององค์ประกอบทั้งหมดที่มากกว่าหรือเท่ากับที่อยู่ติดกัน องค์ประกอบส่วนใหญ่จะมีสององค์ประกอบที่อยู่ติดกัน องค์ประกอบแรกและสุดท้ายเป็นกรณีพิเศษเนื่องจากพวกเขามีเพียงหนึ่งองค์ประกอบที่อยู่ติดกัน คุณอาจคิดว่าอาเรย์นั้นมีองค์ประกอบอย่างน้อยสององค์ประกอบ กรณีทดสอบ: Input | Output [4,2,6,12,4,5,4,3] | [4,12,5] [1,2] | [2] [1,2,3,2,1] | [3] [3,2,1,2,3] | [3,3] [4,4] | [4,4] [2,4,4,4,1] | [4,4,4] [2,3,3,4] | [3,4] [4,3,3,4] | [4,4] นี่คือรหัส - กอล์ฟรหัสที่สั้นที่สุดชนะ!

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