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

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

19
ตัวเลขสามเหลี่ยมสามตัว [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ลักษณะ มีความท้าทายเล็กน้อยเกี่ยวกับตัวเลขเหล่านี้มาก่อนและฉันหวังว่าสิ่งนี้ไม่ได้อยู่ในหมู่พวกเขา n TH จำนวนสามเหลี่ยมเท่ากับผลรวมของตัวเลขธรรมชาติทั้งหมดขึ้นอยู่กับn , สิ่งที่ง่าย มีหน้าวิกิพีเดียและรายการที่ OEISสำหรับผู้ที่ต้องการแจ้งตัวเองต่อไป ตอนนี้เกาส์พบว่าทุกจำนวนธรรมชาติอาจจะแสดงเป็นผลรวมของสามตัวเลขสามเหลี่ยม (เหล่านี้รวมถึง0) 0 + 1 + 1 = 2และมันเป็นเรื่องปกติที่จะมีจำนวนหนึ่งมากกว่าหนึ่งครั้งเช่น ท้าทาย งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นกำหนดจำนวนธรรมชาติ (รวมถึง0) พิมพ์ตัวเลขสามเหลี่ยมสามที่รวมถึงการโต้แย้ง คุณอาจพิมพ์ตัวเลขที่คั่นด้วยช่องว่างเป็นอาร์เรย์หรือโดยวิธีอื่นที่คุณชอบ อย่างไรก็ตามห้ามมิให้ใช้ฟังก์ชันบิวด์อินใด ๆ เพื่อรับอาร์เรย์ช่วงหรือรูปแบบการรวบรวมอื่น ๆ ที่มีรายการหมายเลขรูปสามเหลี่ยมโดยตรง (ตัวอย่างเช่นอะตอมเดี่ยวที่ให้ช่วง) กรณีทดสอบ 9 -> 6 + 3 + 0 or 3 + 3 + 3 …

22
คำนวณ n-th ซ้ำของพหุนามสำหรับค่าเฉพาะ fⁿ (x)
รับฟังก์ชั่นพหุนามf (เช่นเป็นรายการpของสัมประสิทธิ์จริงในลำดับขึ้นหรือลง) จำนวนที่ไม่เป็นลบnและค่าจริงx , ส่งคืน: f n ( x ) คือค่าของF ( F ( F ( ... ฉ ( x ) ... ))) สำหรับnประยุกต์ฉบนx ใช้ความแม่นยำและการปัดเศษที่เหมาะสม วิธีแก้ปัญหาที่ใช้fเป็นรายการของสัมประสิทธิ์น่าจะเป็นสิ่งที่น่าสนใจที่สุด แต่ถ้าคุณสามารถใช้fเป็นฟังก์ชันได้จริง (ซึ่งจะช่วยลดความท้าทายนี้ให้กับเรื่องเล็กน้อย "ใช้ฟังก์ชันnครั้ง") อย่าลังเลที่จะรวมมัน หลังจากการแก้ปัญหาที่ไม่สำคัญของคุณ ตัวอย่างกรณี p = [1,0,0]หรือf = x^2, n = 0, x = 3: f 0 (3) =3 p = [1,0,0]หรือf …

15
ย้อนกลับอัลกอริทึม Cube ของรูบิค
เมื่อใดก็ตามที่คุณขยับลูกบาศก์รูบิคก็จะมีท่าเดินถอยหลังซึ่งจะทำการยกเลิกท่าแรก ด้วยเหตุนี้อัลกอริธึมทุกชุด (ชุดการเคลื่อนไหว) จึงมีอัลกอริทึมแบบย้อนกลับซึ่งจะยกเลิกอัลกอริทึมแรก เป้าหมายของความท้าทายนี้คือการค้นหาสิ่งที่ตรงกันข้ามของอัลกอริทึมที่กำหนด รายละเอียด: อินพุตประกอบด้วยอาร์เรย์ของการเคลื่อนไหวแต่ละรายการ การย้ายแต่ละครั้งเป็นสตริงที่มีความยาว 1 หรือ 2 แน่นอนคุณสามารถใช้รูปแบบการป้อนข้อมูลใดก็ได้ที่มีความหมายมากที่สุดในภาษาของคุณ การย้ายแต่ละครั้งประกอบด้วยโครงสร้างXหรือX'หรือX2ซึ่งXเป็นตัวอักษรตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก ที่จะย้อนกลับเพียงแทนที่ด้วยX X'ในทำนองเดียวกันจะกลายเป็นX' ในทางกลับกันไม่ได้รับการเปลี่ยนแปลงXX2 เมื่อต้องการสร้างผลลัพธ์ให้ย้อนการย้ายแต่ละครั้งจากนั้นย้อนกลับอาร์เรย์ ตัวอย่าง (สตริงคั่นด้วยช่องว่าง): R => R' D U' => U D' S T A C K => K' C' A' T' S' A2 B2 => B2 A2 เกณฑ์การให้คะแนน: นี่คือโค้ดกอล์ฟดังนั้นจำนวนไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ ไม่อนุญาตช่องโหว่มาตรฐาน

14
คำนวณหมายเลข MU
หมายเลข MU สองหมายเลขแรกคือ 2 และ 3 หมายเลข MU อื่น ๆ ทุกหมายเลขคือหมายเลขที่เล็กที่สุดที่ยังไม่ปรากฏซึ่งสามารถแสดงเป็นผลิตภัณฑ์ของหมายเลข MU ที่แตกต่างกันสองรุ่นก่อนหน้าในวิธีเดียว นี่คือ 10 อันดับแรก 2, 3, 6, 12, 18, 24, 48, 54, 96, 162 งาน รับจำนวนบวกคำนวณและส่งออกn th MU นี่คือการแข่งขันรหัส - กอล์ฟดังนั้นคุณควรตั้งเป้าหมายให้ซอร์สโค้ดของคุณเล็กที่สุด OEIS A007335

10
SQL เลือกช่วงตัวเลข
MySQLผมพบว่ามันค่อนข้างยากที่จะประสบความสำเร็จในช่วงของตัวเลขเป็นแถวใน เช่นช่วงที่ 1-5 ทำได้โดย: SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 จะส่งผลให้: 1 2 3 4 5 สำหรับ 0-99 ฉันสามารถข้ามเข้าร่วมสองตาราง 0-9: CREATE TABLE nums as SELECT 0 as num UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT …
19 code-golf  tips  syntax  sql 

30
บูลีนที่ซ้ำซ้อน
บทนำ คลาสสิก booleans เป็นหนึ่งบิต; trueหรือfalse, หรือ1 0ศูนย์ชั้นนำก็จะถูกซ้ำซ้อน ยกตัวอย่างเช่น001หมายความว่าเช่นเดียวกับหรือเพียงแค่000011 บูลีน 32 บิต กำหนดค่าความจริง / เท็จให้เอาต์พุตบูลีน 32- บิตเทียบเท่าเป็นสตริง (หรือเป็นตัวเลขถ้าด้วยเหตุผลบางอย่างภาษาของคุณสนับสนุนศูนย์นำหน้า) โปรแกรมของคุณไม่จำเป็นต้องทำงานกับความจริง / เท็จทุกประเภทเฉพาะภาษาโปรแกรมของคุณที่ดีที่สุด ตัวอย่าง i / o Input >> Output truthy >> 00000000000000000000000000000001 falsey >> 00000000000000000000000000000000 นี่คือโค้ดกอล์ฟดังนั้นไบต์ที่ต่ำที่สุดจึงชนะ!
19 code-golf  string 

3
ตั้งชื่อ Hadrons
ท้าทาย ให้องค์ประกอบของอนุภาคควาร์กเป็นอินพุทเอาท์พุทชื่อฮาดรอนที่สอดคล้องกัน ควาร์กจะแสดงด้วยตัวพิมพ์ใหญ่และโบราณวัตถุด้วยตัวพิมพ์เล็ก ควาร์กอาจอยู่ในลำดับใด ๆ ไม่จำเป็นต้องเป็นไปตามลำดับที่ระบุด้านล่าง ฟังก์ชั่นในตัวไม่อนุญาตให้เข้าถึงข้อมูลเกี่ยวกับอนุภาคและ / หรือควาร์ก ควาร์กเดียวที่คุณจะได้รับคือ U (ขึ้นไป), u (antiup), D (ลง), d (antidown), S (แปลก), s (antistrange), C (เสน่ห์), c (anticharm), B ( ด้านล่างหรือความงาม), b (antibottom หรือ antibeauty) รายชื่อ Hadrons และองค์ประกอบของควาร์ก โปรดทราบว่าแม้ว่าจะมีฮาดรอนอื่น ๆ อีกมากมายเช่น pentaquarks และกาวบอลเป็นต้นคุณจะต้องสนับสนุนเฮดรอนที่ได้รับในรายการต่อไปนี้ Baryons (QQQ) และ Antibaryons (qqq) ชื่อในวงเล็บเป็นชื่อทางเลือกสำหรับอนุภาค คุณสามารถส่งออกทั้งชื่อ Input - …

30
สร้างตัวย่อ
คล้ายกับการทำคำย่อแต่มีความแตกต่างที่สำคัญหลายประการรวมถึงวิธีการเรียกคำย่อและความท้าทายนี้รวมถึงผลลัพธ์ที่ยืดหยุ่น งาน รับสตริง (อนุญาตให้ใช้รายการตัวอักษร / สตริง 1 ความยาว) ที่มีเฉพาะ ASCII ที่พิมพ์ได้ให้พิมพ์ตัวอักษรพิมพ์ใหญ่ทั้งหมดในอินพุตที่นำหน้าด้วยช่องว่างหรือเส้นประหรือเป็นอักขระตัวแรกในอินพุต สตริงว่างคือพฤติกรรมที่ไม่ได้กำหนด กรณีทดสอบ: การส่งออกอาจจะอยู่ในรูปแบบของ"TEST", ["T","E","S","T"]หรือสิ่งอื่นงานสำหรับคุณ Self-contained Underwater Breathing Apparatus SUBA a Programming Language PL NATO Atlantic TREATY Organization NATO DEFCON 2 D hello, world! light-Emitting dioDe E What Does the Fox Say? WDFS 3D mov-Ies I laugh-Out Lou-D OLD Best …
19 code-golf  string 

14
นับจาก 1 ถึง n โดยไม่ต้องต่อเนื่องตัวเลขใด ๆ
เป้าหมาย คุณได้รับจำนวนเต็มn( n > 1) คุณจะต้องส่งออกหลายวิธีพีชคณิตของจำนวนเต็ม1จะnมีซึ่งเริ่มต้นที่1ปลายที่nและไม่ได้มีการติดต่อกันจำนวนเต็มสองจำนวนที่แตกต่างกันโดย 1 อีกทางเลือกหนึ่งถ้าคุณใช้กราฟที่สมบูรณ์K_nและลบขอบของเส้นทาง1-2-3-...-nคุณจะต้องนับเส้นทางของ Hamiltonian จาก1ไปเป็นnในกราฟที่เหลือ ตัวอย่างจะใช้f(n)สำหรับฟังก์ชันที่รับnและส่งออกจำนวนการเปลี่ยนลำดับที่ถูกต้อง แต่การส่งของคุณอาจเป็นฟังก์ชันหรือโปรแกรม ตัวอย่าง สำหรับn = 6ทางออกที่เป็นไปได้คือ1-3-5-2-4-6 แต่ไม่ได้เป็นวิธีการแก้ปัญหาที่ถูกต้องเพราะมันไม่ได้จบด้วย1-3-5-2-6-46 ในความเป็นจริงสำหรับn = 6มีเพียง 2 โซลูชั่น ( 1-4-2-5-3-6เป็นอีกทางหนึ่ง) f(6) = 2ด้วยเหตุนี้ สำหรับn = 4การเรียงสับเปลี่ยนเท่านั้นที่เริ่มต้น1และสิ้นสุดใน4คือ1-2-3-4และ1-3-2-4. ในทั้งสองของพวกเขา2อยู่ติดกับ3ให้จำนวนเต็มติดต่อกันซึ่งแตกต่างกันโดย 1 f(4) = 0ดังนั้น กรณีทดสอบ f(6) = 2 f(4) = 0 f(8) = 68 f(13) = 4462848 เกณฑ์การชนะ นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดชนะ

12
พื้นที่ของรูปหลายเหลี่ยมนี้คืออะไร
คำนวณพื้นที่ของรูปหลายเหลี่ยม แรงบันดาลใจจากวิดีโออัลกอริทึมเชือกผูกรองเท้า งาน งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่คำนวณพื้นที่ของรูปหลายเหลี่ยม โปรแกรมหรือฟังก์ชั่นถูกกำหนดตามคำนิยามเริ่มต้นในเมตาดาต้า อินพุต คุณจะได้รับพิกัด X และ Y ของแต่ละจุดยอดของรูปหลายเหลี่ยม คุณสามารถรับอินพุตเป็นรายการของ tuples ( [[x1, y1], [x2, y2], etc]), เมทริกซ์หรือรายการแบน ( [x1, y1, x2, y2, etc]) อนุญาตให้มีสองรายการประกอบด้วยxและyพิกัดตามลำดับ จุดยอดมีหมายเลขทวนเข็มนาฬิกาและจุดสุดยอดแรกจะเหมือนกับจุดสุดยอดที่ให้ไว้ดังนั้นปิดรูปหลายเหลี่ยม หากคุณต้องการคุณสามารถป้อนข้อมูลโดยไม่มีจุดสุดยอดครั้งสุดท้าย (ดังนั้นรับแต่ละพิกัดเพียงครั้งเดียว) คุณสามารถสันนิษฐานได้ว่าขอบของรูปหลายเหลี่ยมไม่ได้ตัดกัน คุณสามารถสันนิษฐานได้ว่าจุดยอดทั้งหมดมีพิกัดจำนวนเต็ม เอาท์พุต พื้นที่ของรูปหลายเหลี่ยม อนุญาตวิธีการส่งออกมาตรฐานทั้งหมด หากภาษาของคุณไม่อนุญาตให้มีการหารแบบลอยตัวและวิธีแก้ปัญหาจะไม่ใช่จำนวนเต็มคุณได้รับอนุญาตให้ส่งคืนเศษส่วน ไม่จำเป็นต้องทำให้เศษส่วนเรียบง่ายดังนั้น2/4จะอนุญาตให้ส่งคืนได้ เกณฑ์การชนะ รหัสที่สั้นที่สุดชนะ! กรณีทดสอบ [[4,4],[0,1],[-2,5],[-6,0],[-1,-4],[5,-2],[4,4]] 55 [[1,1],[0,1],[1,0],[1,1]] 0.5 1/2

30
ลบอัตราต่อรองของฉันจากเหตุการณ์ของฉัน
รับค่าเป็นจำนวนเต็มที่ไม่เป็นลบคืนค่าความต่างสัมบูรณ์ระหว่างผลรวมของเลขคู่และผลรวมของเลขคี่ กฎเริ่มต้น มีช่องโหว่มาตรฐาน คุณสามารถรับอินพุตและให้เอาต์พุตโดยวิธีอินพุต / เอาต์พุตมาตรฐานใด ๆ คุณอาจรับอินพุตเป็นสตริงในฐานะจำนวนเต็มหรือเป็นรายการตัวเลข นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ในทุกภาษาชนะ! กรณีทดสอบ อินพุต ~> เอาท์พุท 0 ~> 0 (| 0-0 | = 0) 1 ~> 1 (| 1-0 | = 1) 12 ~> 1 (| 2-1 | = 1) 333 ~> 9 (| 0- (3 + 3 + 3) | = 9) …

26
ทำให้คลื่นสตริง
กำหนดสตริงเป็นอินพุตเอาต์พุตสตริงโดยใช้อัลกอริทึมต่อไปนี้: 1. Split the String by " " (find the words): "Hello World" -> ["Hello","World"] 2. Find the vowel count of each component: [2,1] ( ["H[e]ll[o]","W[o]rld"] ) 3. For each of the components, output the first n letter where n is the number of vowels it contains: ["He","W"] 4. Join …
19 code-golf  string 

9
สัญลักษณ์คำนำหน้ากับเครื่องหมายคำนำหน้า
คำเตือน: ไม่นี่ไม่ใช่เรื่องตลกที่จะเล่นสตริง งาน มีเพียงหนึ่งการดำเนินการที่จะสนับสนุนคือ: การลบ ( -) คุณมีเพียงสองอะตอมที่จะสนับสนุน: ศูนย์ ( 0) และหนึ่ง ( 1) ที่นี่คำนำหน้าสัญกรณ์-ABเทียบเท่ากับสัญกรณ์ postfix AB-ที่AและBเป็นนิพจน์ งานของคุณคือการแปลงนิพจน์ในรูปแบบของคำนำหน้าให้เทียบเท่าในรูปแบบของ postfix คำนิยาม นิพจน์ในรูปแบบนำหน้าถูกสร้างขึ้นโดยไวยากรณ์ต่อไปนี้: S > -SS S > 0 S > 1 การแสดงออกในเครื่องหมาย postfix ถูกสร้างขึ้นโดยไวยากรณ์ต่อไปนี้: S > SS- S > 0 S > 1 ตัวอย่าง Prefix notation: --01-0-01 Parentheses: -(-01)(-0(-01)) Convert: (01-)(0(01-)-)- …
19 code-golf  string 

20
รวมเส้นทแยงมุม
ใช้เมทริกซ์ของจำนวนเต็มบวกเป็นอินพุตและส่งออกผลรวมแต่ละองค์ประกอบบนเส้นทแยงมุมผ่านเมทริกซ์ คุณจะต้องนับเฉพาะเส้นที่ลงตามแนวทแยงมุมและไปทางขวาเท่านั้น คุณต้องเริ่มต้นด้วยเส้นทแยงมุมที่มีเฉพาะองค์ประกอบด้านล่างซ้ายจากนั้นเส้นทแยงมุมสองความยาวด้านบนนั้น (ถ้ามี) และต่อไปจนถึงเส้นทแยงมุมที่มีเฉพาะองค์ประกอบด้านบนขวาดังแสดงด้านล่าง ตัวอย่าง: Input: 8 14 5 1 10 5 5 8 6 6 8 10 15 15 4 11 Output: 15, 21, 20, 32, 29, 13, 1 (Diagonals: {{15},{6,15},{10,6,4},{8,5,8,11},{14,5,10},{5,8},{1}}) Input: 1 Output: 1 Input: 1 5 Output: 1, 5 Input: 4 1 Output: 1, 4 Input: …
19 code-golf  math  matrix 

2
รายการเหล่านี้เท่ากันหรือไม่
อย่างที่คุณทราบกันดีว่าหลามมีรายการอยู่ ในขณะที่คุณอาจไม่ทราบว่ารายการเหล่านี้สามารถมีตัวเอง a = [] a.append(a) Python 2 Python 3 สิ่งเหล่านี้เจ๋งและมีสิ่งที่น่าสนใจมากมายที่คุณสามารถทำได้กับพวกเขาอย่างไรก็ตามคุณไม่สามารถเปรียบเทียบได้ a = [] a.append(a) b = [] b.append(b) a == b Python 2 Python 3 งาน งานของคุณคือการเขียนฟังก์ชั่นใน Python (หรือภาษาใด ๆ ที่สามารถจัดการกับวัตถุหลามโดยตรง) ที่จะมีสองรายการที่อาจมีตัวเองและเปรียบเทียบพวกเขา สองรายการมีค่าเท่ากันหากมีความยาวเท่ากันและไม่มีลำดับของตัวเลขเช่นนั้นซึ่งการทำดัชนีทั้งสองรายการตามลำดับนั้นจะส่งผลให้วัตถุสองรายการที่ไม่เท่ากันภายใต้คำจำกัดความที่เท่ากันนี้ วัตถุที่ไม่ใช่รายการทั้งหมดที่มีอยู่ในรายการจะเป็นจำนวนเต็มหลามเพื่อความง่ายและควรนำมาเปรียบเทียบกับความเสมอภาคของ python สำหรับจำนวนเต็ม โปรแกรมของคุณไม่ควรใช้ความลึกในการเรียกซ้ำของไพ ธ อนเพื่อตรวจสอบว่ารายการนั้นมีความลึกไม่สิ้นสุด นั่นคือ: def isInfinite(a,b): try: a==b return False except RunTimeError: return …

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