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

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

21
เติมจนถึงช่วงที่ซ้ำกัน
ให้เป็นรายการของจำนวนเต็มบวกที่ไม่มีการเรียงลำดับเฉพาะและสามารถมีรายการซ้ำได้ เขียนโปรแกรมหรือฟังก์ชั่นที่แสดงรายการของจำนวนเต็มบวกM (ซึ่งเรียงลำดับไม่สำคัญ) เช่นการรวมผลลัพธ์LและMลงในรายการที่เล็กที่สุดซึ่งสามารถแบ่งออกเป็นช่วงจำนวนเต็มเหมือนกัน[ 1 .. i ]โดยที่ฉันคือ องค์ประกอบที่ใหญ่ที่สุดในLLLLMMMLLLMMM[1..i][1..i][1..i]iiiLLL ตัวอย่าง L = [5,3,3,2,7]ให้ องค์ประกอบที่สูงสุดของการมีL 7จำนวนครั้งที่มากที่สุดที่เฉพาะเจาะจงเกิดขึ้นคือ2( 3ปรากฏขึ้น 2 ครั้ง) ดังนั้นเราจำเป็นต้องแสดงรายการMที่จะอนุญาตให้เสร็จสมบูรณ์Lเพื่อให้เราสามารถสร้าง2ช่วงของจำนวนเต็มจาก1ถึง7ไป ดังนั้นเราจำเป็นต้องแสดงผลลัพธ์M = [1,1,2,4,4,5,6,6,7]เพื่อให้จำนวนเต็มแต่ละค่าจาก1ถึง7ปรากฏขึ้น2ครั้ง อินพุตและเอาต์พุต ใช้อะไรก็ได้ในภาษาของคุณที่คล้ายกับรายการ โครงสร้างข้อมูลที่ใช้สำหรับอินพุตและเอาต์พุตต้องเหมือนกัน รายการอินพุตจะมีจำนวนเต็มบวกเท่านั้น รายการอินพุตจะไม่ว่างเปล่า คุณไม่สามารถถือว่ารายการอินพุตถูกเรียงลำดับ การเรียงลำดับในรายการเอาท์พุทไม่สำคัญ กรณีทดสอบ Input Output [1] [] [7] [1, 2, 3, 4, 5, 6] [1, 1, 1] [] [1, 8] [2, 3, 4, …

30
คำนวณผลรวมของจำนวนเฉพาะจำนวน n ตัวแรก
ฉันประหลาดใจที่ความท้าทายนี้ไม่ได้อยู่ที่นี่เพราะมันชัดเจนมาก (หรือฉันประหลาดใจที่ฉันไม่พบมันและทุกคนจะทำเครื่องหมายว่าซ้ำกัน) งาน ได้รับไม่ใช่เชิงลบจำนวนเต็มnnnคำนวณผลรวมของแรกnnnเฉพาะและผลผลิตมัน ตัวอย่างที่ 1 สำหรับn=5n=5n = 5ห้าช่วงแรกคือ: 2 3 5 7 11 ผลรวมของตัวเลขเหล่านี้คือ2+3+5+7+11=282+3+5+7+11=282 + 3 + 5 + 7 + 11 = 28ดังนั้นโปรแกรมที่มีการส่งออก28282828 ตัวอย่างที่ 2 สำหรับช่วงเวลา "ศูนย์แรก" จะไม่มีเลย และผลรวมของตัวเลขไม่เป็น - แน่นอน - 0n=0n=0n = 0000 กฎระเบียบ คุณอาจใช้บิวด์อินเช่นเพื่อตรวจสอบว่าตัวเลขนั้นดีหรือไม่ นี่คือโค้ดกอล์ฟดังนั้นจำนวนไบต์ต่ำสุดในแต่ละภาษาจะชนะ!
15 code-golf  primes 

25
เศษส่วนแบบผสม
ในโรงเรียนประถมเด็ก ๆ เรียนรู้เกี่ยวกับเศษส่วนที่เหมาะสมโดยที่ตัวเศษนั้นน้อยกว่าตัวหารและทำให้ค่าของเศษส่วนน้อยกว่าหนึ่ง ต่อมาพวกเขาได้รับการสอนเกี่ยวกับเศษส่วนที่ค่าของเศษส่วนมากกว่าหนึ่งและสองวิธีที่แตกต่างกันในการแสดงเศษส่วนเหล่านี้: เศษส่วนผสมและเศษส่วนที่ไม่เหมาะสม กำหนดเศษส่วนแบบผสมให้กำหนดว่ามันจะเท่ากับเศษส่วนที่ไม่เหมาะสมโดยที่ค่าจำนวนเต็มและตัวเศษต่อกันเข้าด้วยกัน ตัวอย่างเช่นสำหรับการป้อนข้อมูลที่เป็นส่วนที่ไม่เหมาะสม1 3/413/4 กรณีทดสอบ 1 3/4 -> falsey 1 3/10 -> truthy 6 6/7 -> falsey 55 55/100 -> truthy 4 9/100 -> falsey 40 9/100 -> falsey 7 49/1000 -> falsey 9 1/2 -> falsey 999 999/1000 -> truthy 1 21/200 -> falsey 1 …

13
ดำเนินการ Shuffle ™ที่ยอดเยี่ยม
สำหรับจุดประสงค์ของคำถามนี้สำรับไพ่ในรูปแบบนี้: [ "AS", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "JS", "QS", "KS", "AD", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "JD", "QD", "KD", "AH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "10H", "JH", "QH", "KH", "AC", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", …
15 code-golf  cards 

16
ผลรวมบางส่วนที่แน่นอนของชุดฮาร์มอนิ
ท้าทาย รับจำนวนเต็มบวกNเอาท์พุทผลรวมของส่วนNกลับแรกเป็นเศษส่วนที่แน่นอนซึ่งจะแสดงเป็นคู่ของจำนวนเต็มในลำดับที่สอดคล้องกันเป็นตัวแทนของเศษและส่วน กฎระเบียบ ผลลัพธ์จะต้องถูกต้อง เอาต์พุตควรเป็นจำนวนเต็มคู่ในลำดับที่สอดคล้องกันซึ่งแสดงถึงตัวเศษและส่วน ห้ามใช้ประเภทตัวเลขที่ไม่ใช่จำนวนเต็ม (มีอยู่แล้วภายในหรือไลบรารี) การชี้แจง / ข้อยกเว้น: ประเภทที่ไม่ใช่ตัวเลขจะไม่เป็นไรหากค่าทั้งหมดที่ใช้คำนวณและส่งคืนเป็นจำนวนเต็ม (เช่นภาษาของคุณใช้ตัวเลขที่มีเหตุผลตามค่าเริ่มต้น แต่คุณใช้เลขคณิตเลขจำนวนเต็มในคำตอบของคุณเท่านั้น) ผลผลิตควรลดลงมากที่สุด ( 3/2ไม่เป็นไร6/4ไม่ใช่) ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม การส่งควรทำงานสำหรับอินพุตอย่างน้อยถึง 20 หรือเมตานี้แล้วแต่จำนวนใดจะสูงกว่า กรณีทดสอบ 1: 1/1 2: 3/2 (1/1 + 1/2) 3: 11/6 (1/1 + 1/2 + 1/3) 4: 25/12 etc. 5: 137/60 6: 49/20 20: 55835135/15519504 56: 252476961434436524654789/54749786241679275146400 226: 31741146384418617995319820836410246588253008380307063166243468230254437801429301078323028997161/5290225078451893176693594241665890914638817631063334447389979640757204083936351078274058192000 การสร้างกรณีทดสอบ (Python …

22
ทดสอบว่าสตริงนั้นมีความสมดุลหรือไม่
เราเรียกกลุ่ม paren (ว่าparen แบบเปิดกลุ่ม paren ที่ใกล้เคียงกัน)และทุกอย่างในนั้น กลุ่ม parens หรือสตริงเรียกว่าวงเล็บสมดุลถ้ามันมีอะไรหรือเพียง 2 กลุ่ม parens สมดุลวงเล็บ ตัวอย่างเช่น: The string "(()())()" is parenthesly balanced ( )() Because it contains exactly 2 parenthesly balanced parens groups ()() The left one is parenthesly balanced because it contains 2 parenthesly balanced parens groups (balanced because they are …

14
เลขศูนย์ทุน
งานของคุณคือการถอดรหัสสตริงไม่ว่างเปล่าประกอบด้วยตัวอักขระ ASCII ในช่วง[32..126] การอ่านอักขระสตริงต่ออักขระ: ทุกครั้งที่คุณพบจดหมายเป็นตัวพิมพ์เล็กให้เชื่อมโยงกับตัวอักษรถัดไปเป็นตัวพิมพ์ใหญ่เริ่มต้นด้วย'A' ทุกครั้งที่คุณพบจดหมายเป็นตัวพิมพ์ใหญ่ให้แทนที่ด้วยตัวอักษรพิมพ์เล็กที่เกี่ยวข้อง อักขระอื่นไม่ต้องการการประมวลผลพิเศษใด ๆ และจะไม่มีการเปลี่ยนแปลง ตัวอย่าง สำหรับสตริงอินพุต"endlAsEBAEE": รองeไปA, nไปB, dไปCและlจะD แทนที่Aด้วยe เชื่อมโยงsกับE แทนที่EBAEEด้วยsness "endlessness"ผลลัพธ์สุดท้ายคือ คำอธิบายและกฎ สตริงอินพุตรับประกันว่าจะมีตัวอักษรพิมพ์เล็กแต่ละตัวมากที่สุดหนึ่งครั้ง อินสแตนซ์เพิ่มเติมทั้งหมดจะถูกแทนที่ด้วยอักษรตัวใหญ่ที่เกี่ยวข้อง สตริงอินพุตรับประกันว่าถูกต้อง (คุณจะไม่พบอักษรตัวพิมพ์ใหญ่ที่ยังไม่เกี่ยวข้องกับอักษรตัวพิมพ์เล็ก) เมื่อตัวอักษรตัวใหญ่มีความเกี่ยวข้องกับตัวอักษรตัวเล็กมันอาจหรือไม่สามารถใช้ในภายหลังในสตริง ตัวอย่างเช่นCและDไม่ได้ใช้ในตัวอย่างด้านบน นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ! กรณีทดสอบ ปัจจัยการผลิต: abcd honk! ABCD! abrAcAdABCA endlAsEBAEE helCo wDrCd! dermatoglyphics progBamFinD AuzJles & cCdL DCKf sphinx of black quKrtz, jOdge my vGw. K NODLM …

3
วิธีการสลับองค์ประกอบในเวกเตอร์โดยใช้ฟังก์ชั่นที่ไม่ระบุชื่อใน Octave?
การสลับองค์ประกอบสองอย่างในเวกเตอร์ / เมทริกซ์นั้นง่ายมากใน Octave: x='abcde'; x([4,1])=x([1,4]) x = dbcae น่าเสียดายที่ฉันยังไม่พบวิธีการทำสิ่งนี้ภายในฟังก์ชั่นที่ไม่ระบุชื่อ ในขณะที่ฟังก์ชั่นด้านล่างนั้นถูกต้องตามหลักไวยากรณ์ แต่จะให้องค์ประกอบสองอย่างที่เปลี่ยนกลับไม่ใช่ทั้งหมดxเวกเตอร์ : f=@(x)(x([4,1])=x([1,4])) f(x) ans = ad มีวิธีการที่จะบรรลุพฤติกรรมที่ต้องการโดยใช้ฟังก์ชั่นที่ไม่ระบุชื่อในลักษณะที่เป็นกอล์ฟหรือไม่? สามารถสลับหลายองค์ประกอบด้วยวิธีนี้โดยใช้ฟังก์ชันที่ไม่ระบุชื่อได้หรือไม่? ฉันสามารถสร้างเวกเตอร์การจัดทำดัชนี: f=@(x)x([4,2,3,1,5])แต่การสร้างเวกเตอร์ดังกล่าวแบบไดนามิกนั้นอาจใช้เวลามากเช่นกัน

10
มีหลายฐาน แต่ไม่ใช่เลขสองหลักเดียวกัน
อินพุต อาร์เรย์ที่ไม่ว่างของจำนวนเต็มบวก งาน แปลงแต่ละจำนวนเต็มเป็นเลขฐานสองฐานแปดทศนิยมหรือฐานสิบหกในลักษณะที่แต่ละหลัก ( 0ถึงF ) ถูกใช้อย่างมากที่สุดครั้งเดียว เอาท์พุต รายการของฐานที่ใช้เพื่อไขปริศนา ตัวอย่างรายละเอียด ผลลัพธ์ที่คาดหวังสำหรับ[16, 17]คือ[ฐานแปด, ทศนิยม] [ฐานแปดทศนิยม] นี่คือเหตุผล: เราไม่สามารถใช้ทศนิยมสำหรับทั้งสองหมายเลขได้ง่ายเนื่องจากตัวเลขทั้งสองมี1 1 16ไม่สามารถแปลงเป็นไบนารีได้เนื่องจากการเป็นตัวแทนในฐานนี้ ( 10,000 ) มีหลาย0 's 17ไม่สามารถแปลงเป็นไบนารีได้เช่นกันเนื่องจากการแสดงในฐานนี้ ( 1,0001 ) มีหลาย0และ1หลาย ' s 17ไม่สามารถแปลงเป็นเลขฐานสิบหกเพราะเป็นตัวแทนในฐานนี้ ( 11 ) ประกอบด้วยสอง1 's ลองพิจารณาความเป็นไปได้ที่เหลืออยู่ทั้งหมด: +---------+---------+--------+ | oct(16) | dec(16) | hex(16)| | = 20 | = …

9
เข้าร่วมห้อง
นี่คือแผนที่สมมุติว่าเป็นคุกใต้ดิน ... ########## # ##### # ##### ########## ########## ########## ########## #### ## #### ## ########## สมมติว่าฮีโร่นั้นอยู่ในห้อง A (ที่มุมบนซ้าย) และเป้าหมายของพวกเขา (เจ้าชายในความทุกข์?) อยู่ในห้อง B (ไปทางขวาล่าง) แผนที่ของเราไม่อนุญาตให้ฮีโร่ก้าวหน้าไปสู่เป้าหมาย เราต้องเพิ่มทางเดิน ... ########## # ##### # ##### ####.##### ####.##### ####.##### ####.##### #### ## #### ## ########## ที่นั่นดีกว่ามาก! กฎระเบียบ โปรแกรมหรือฟังก์ชันที่รับแผนที่ดันเจี้ยน (ประกอบด้วยแฮชและช่องว่างโดยมีแถวคั่นด้วยอักขระบรรทัดใหม่) มันจะส่งออกแผนที่ที่มีจุดเพิ่มเพื่อแสดงถึงข้อความในช่องว่างทั้งหมดซึ่งอยู่บนเส้นทางโดยตรงระหว่างอักขระช่องว่าง มันจะไม่เปลี่ยนความยาวบรรทัดหรือจำนวนบรรทัด ข้อความทั้งหมดอยู่ในสายตรงจากช่องว่างไปยังช่องว่าง ทางเดินไม่สามารถหมุนมุมได้ พวกเขาจะไม่อยู่ระหว่างช่องว่างและขอบของแผนที่ …

10
การเข้ารหัสปัจจัยเฉพาะ
การเข้ารหัสทำงานอย่างไร รับรายการบิต: กดค้างไว้ (เริ่มต้นด้วย2) มีรายการ สำหรับแต่ละบิตในอินพุต หากเป็นเช่นเดียวกับบิตก่อนหน้าให้เพิ่มไพรม์ที่คุณถืออยู่ในรายการ ถ้ามันแตกต่างกันให้ถือนายกตัวถัดไปและเพิ่มเข้าไปในรายการ ส่งคืนผลิตภัณฑ์ของตัวเลขทั้งหมดในรายการของคุณ สำหรับบิตแรกสมมติว่าบิตก่อนหน้านี้คือ 0 หมายเหตุ: ขั้นตอนเหล่านี้มีวัตถุประสงค์เพื่อประกอบการอธิบายเท่านั้นคุณไม่จำเป็นต้องปฏิบัติตาม ตัวอย่าง Input: 001 hold 2 0: add 2 to the list 0: add 2 to the list 1: hold 3, add 3 to the list list: 2,2,3 Output: 12 Input: 1101 hold 2 1: hold 3, add …

10
จำนวนเอาต์พุตไม่มากก็น้อย
ความท้าทาย รับสายป้อนข้อมูล (หรืออาร์เรย์) ประกอบด้วย<และ>ส่งออกลำดับ (อาร์เรย์หรือสตริง) ของจำนวนเต็มเช่นนั้น: ผู้ประกอบการทั้งหมดถูกต้องเมื่อนำมาใช้ในการสั่งซื้อระหว่างหมายเลขติดต่อกันในการส่งออก จำนวนเต็มทั้งหมดเป็นค่าบวก (1 หรือมากกว่า) ผลรวมของจำนวนเต็มมีขนาดเล็กเท่าที่เป็นไปได้ทางคณิตศาสตร์ ข้อมูลที่ป้อนอาจแตกต่างกันเพื่อให้ตรงกับ "มากกว่า" และ "น้อยกว่า" ในภาษาที่คุณเลือก ในฐานะที่เป็นทางเลือกเอาท์พุทเพียงแค่ระบุผลรวมของตัวเลขในการส่งออก ระบุเวอร์ชันที่คุณกำลังแก้ไขในชื่อคำตอบของคุณ ใช้การยกเว้นและกฎตามปกติไบต์ที่เล็กที่สุดชนะ คุณสามารถสันนิษฐานได้ว่าสตริงอินพุตจะไม่นำไปสู่การล้นจำนวนเต็มในภาษาของคุณหากเป็นเช่นนั้น ตัวอย่าง >ให้2 1ผลรวมที่3 >>>ให้4 3 2 1ผลรวมที่10 ><ให้2 1 2ผลรวมที่5 ให้1ผลรวมที่1 >>>>>>>>>ให้10 9 8 7 6 5 4 3 2 1ผลรวมที่55 >><<>><>>>ให้3 2 1 2 3 2 1 4 3 …

21
นี่เป็นหมายเลขบันไดหรือไม่
ถาม: ตรวจสอบว่าตัวเลขที่กำหนดเป็น a number staircaseหรือไม่ อินพุต: จำนวนเต็ม (มากกว่า 0 และไม่ใช่ทศนิยม) หมายเหตุ: คุณสามารถรับอินพุตเป็นสตริงอาร์เรย์ของตัวเลข ผลผลิต: ค่าความจริง / เท็จขึ้นอยู่กับว่าหมายเลขเป็นบันไดหรือไม่ จำนวนบันได: จำนวนบันไดเป็นจำนวนเต็มว่าเมื่ออ่านจากซ้ายไปขวา: การ เริ่มต้นด้วย 1 ซึ่งอาจตามด้วย 2 ซึ่งอาจตามมาด้วย 3 และอื่น ๆ จนถึง n จากนั้นตัวเลขจะเริ่มต้นที่ n - 1 จากนั้น n - 2 จากนั้น n - 3 และจนกว่าจะถึง 1 บันทึก : อาจจะเป็นส่วนหนึ่งที่จะใช้ในการระบุว่าหากความยาว> เป็นมากกว่า 1. ถ้าเป็นคำสั่งที่จะต้องปฏิบัติตามที่เป็นอยู่ เช่น: …

10
จำกัด จำนวนของคุณด้วยการวิ่งของคุณ
รายการที่ จำกัด ด้วยตนเอง พิจารณารายการที่ไม่มีข้อ จำกัดLที่มีจำนวนเต็มที่ไม่ใช่ค่าลบ การทำงานในLเป็นรายการย่อยที่ต่อเนื่องกันขององค์ประกอบที่เท่ากันซึ่งไม่สามารถทำได้อีกต่อไป ตัวอย่างเช่นการวิ่งของ[0,0,1,1,3,3,3,2,1,1]คือ[0,0], [1,1], [3,3,3], [2 ], [1,1] รายการLเป็นตัว จำกัดถ้าแต่ละจำนวนเต็มN ≥ 1จำนวนของการเกิดขึ้นของNมีค่าน้อยกว่าหรือเท่ากับจำนวนของการทำงานของN-1 รายการด้านบนไม่ จำกัด ตัวเองเนื่องจากมีการเกิดขึ้น 4 ครั้งที่1แต่เรียกใช้เพียง0ครั้งเดียว นี่คือตัวอย่างของรายการที่ตนเอง จำกัด นี้: [0,0,3,4,1,0,2,1,1,0,2,1,0,0,0,1,0] มันมี 5 การวิ่งของ0และ 5 การเกิดขึ้นของ1 , 4 วิ่ง1และ 2 การเกิดขึ้นของ2 , 2 การวิ่งของ2และ 1 การเกิดขึ้นของ3 , 1 การทำงานของ3และ 1 เกิด4 , 1 การทำงานของ4และการเกิดขึ้นของไม่มี5 , ไม่มีการเกิดขึ้นของจำนวนเต็มอื่น …

14
ออยเลอร์ - Poincaré-ลักษณะของ Polyhedra
กำหนดรูปสามเหลี่ยมของพื้นผิวของรูปทรงหลายเหลี่ยมที่pคำนวณของออยเลอร์-Poincaré-ลักษณะχ(p) = V-E+Fที่Vเป็นจำนวนของจุด, EจำนวนขอบและFจำนวนของใบหน้า รายละเอียด 1,2,...,Vจุดที่มีการระบุว่าเป็น สมการจะได้รับเป็นรายการโดยที่แต่ละรายการเป็นรายการของจุดยอดของใบหน้าเดียวกำหนดตามลำดับตามเข็มนาฬิกาหรือทวนเข็มนาฬิกา แม้ชื่อจะเป็นรูปสามเหลี่ยมที่มีใบหน้าที่มีมากกว่า 3 ด้าน ใบหน้าสามารถสันนิษฐานได้ว่าเป็นการเชื่อมต่ออย่างง่ายนั่นหมายความว่าขอบเขตของแต่ละใบหน้าสามารถวาดได้โดยใช้วงปิดที่ไม่ตัดตัวเองหนึ่งวง ตัวอย่าง จัตุรมุข : χ = 2จัตุรมุขนี้เป็นนูนและมี สมการที่เป็นไปได้คือ [[1,2,3], [1,3,4], [1,2,4], [2,3,4]] Cube : χ = 2ก้อนนี้เป็นนูนและมี สมการที่เป็นไปได้คือ [[1,2,3,4], [1,4,8,5], [1,2,6,5], [2,3,7,6], [4,3,7,8], [5,6,7,8]] โดนัท : โดนัท / รูปร่างแบบนี้ toroid χ = 0มี สมการที่เป็นไปได้คือ [[1,2,5,4], [2,5,6,3], [1,3,6,4], [1,2,7,9], [2,3,8,7], [1,9,8,3], …

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