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

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

25
เบอร์เบอร์นูลี
หมายเลข Bernoulli (เฉพาะที่สองหมายเลข Bernoulli) จะถูกกำหนดโดยคำนิยาม recursive ต่อไปนี้: ในกรณีที่หมายถึงการรวมกัน รับจำนวนเต็มไม่ใช่ค่าลบmเป็นอินพุตเอาต์พุตเอาต์พุตการแทนทศนิยมหรือเศษส่วนที่ลดลงสำหรับmหมายเลข Bernoulli ที่สอง หากคุณแสดงการแทนทศนิยมคุณต้องมีตำแหน่งทศนิยมอย่างน้อย 6 ตำแหน่ง (ตัวเลขหลังจุดทศนิยม) และจะต้องแม่นยำเมื่อปัดเศษเป็นทศนิยม 6 ตำแหน่ง ตัวอย่างเช่นสำหรับm = 2, เป็นที่ยอมรับเพราะมันรอบ0.166666523 เป็นที่ยอมรับไม่ได้เพราะมันรอบ ศูนย์ต่อท้ายอาจถูกละเว้น สัญลักษณ์ทางวิทยาศาสตร์อาจใช้สำหรับการแทนทศนิยม0.1666670.1666663890.166666 นี่คืออินพุตและเอาต์พุตที่คาดว่าmจะถึงและรวมถึง 60 ในเครื่องหมายทางวิทยาศาสตร์ปัดเศษเป็นทศนิยม 6 ตำแหน่งและเป็นเศษส่วนที่ลดลง: 0 -> 1.000000e+00 (1/1) 1 -> 5.000000e-01 (1/2) 2 -> 1.666667e-01 (1/6) 3 -> 0.000000e+00 (0/1) 4 -> -3.333333e-02 (-1/30) …

23
รัฐและเมืองหลวง
รับสตริงเป็นอินพุตเอาต์พุตรัฐของสหรัฐอเมริกาที่มีทุนถ้าเป็นเมืองหลวงของรัฐเมืองหลวงของรัฐหากเป็นรัฐหรือArstotzkaเป็นทั้งสองอย่าง ตัวอย่าง: Austin -> Texas Alaska -> Juneau The Nineteenth Byte -> Arstotzka เมืองหลวงทั้งหมดและรัฐที่เกี่ยวข้อง: Baton Rouge, Louisiana Indianapolis, Indiana Columbus, Ohio Montgomery, Alabama Helena, Montana Denver, Colorado Boise, Idaho Austin, Texas Boston, Massachusetts Albany, New York Tallahassee, Florida Santa Fe, New Mexico Nashville, Tennessee Trenton, New Jersey Jefferson, Missouri Richmond, …

9
การจัดรูปแบบไวยากรณ์เหมือนเสียงกระเพื่อม
พื้นหลัง (ขึ้นอยู่กับเรื่องจริงที่ทำให้หัวใจวาย) ในเวลาของฉันฉันได้เล่นกับ Lisp และภาษาที่คล้ายกันบ่อยครั้ง ฉันเขียนกับพวกเขาแล้ววิ่งตีความตีความออกแบบและสร้างเครื่องเขียนกับพวกเขาสำหรับฉัน ... และถ้ามีสิ่งหนึ่งที่รบกวนจิตใจฉันก็เห็น Lisp ที่ไม่สอดคล้องกับสไตล์การจัดรูปแบบเฉพาะของฉัน น่าเสียดายที่มีเครื่องมือแก้ไขข้อความ ( ไอ XCode ไอ ) มีแนวโน้มที่จะดึงแท็บและช่องว่างที่สวยงามของฉันเมื่อใดก็ตามที่มีการคัดลอกและวางรหัส ... ใช้ไวยากรณ์ที่คล้ายกับเสียงกระเพื่อมนี้ (A (B (C) (D)) (E)) ( ABCDEฟังก์ชั่นโดยพลการอยู่ที่ไหน) บรรณาธิการข้อความบางคนฆ่ารหัสที่น่ารักนี้ไปยังจุดสิ้นสุดต่อไปนี้: (A (B (C) (D)) (E)) ช่างเป็นระเบียบ! ไม่สามารถอ่านได้! ช่วยฉันออก ความท้าทาย เป้าหมายของคุณในความท้าทายนี้คือการใช้ชุดฟังก์ชั่นคั่นด้วยบรรทัดใหม่ในรูปแบบที่อธิบายด้านล่างและกลับมาจัดเรียงที่สวยงามยิ่งขึ้นซึ่งเน้นการอ่านและความสง่างาม การป้อนข้อมูล เรากำหนดฟังก์ชันFของNอาร์กิวเมนต์arity เป็นโครงสร้างคล้ายกับต่อไปนี้: (F (G1 ...) (G2 ...) (G3 ...) ... (GN ...)) …

2
ช่วยฉันผัดวันประกันพรุ่งในการซ่อมคอมพิวเตอร์ของฉัน!
ความท้าทายนี้มาถึงคุณโดยแรงบันดาลใจ (และน่าเศร้า) จริง เมื่อเร็ว ๆ นี้แถวหมายเลขบนแป้นพิมพ์ของฉันเป็นระยะ ๆ ปุ่มใช้1-9งานได้บางครั้ง - แต่บางครั้งก็ไม่มีผล ในฐานะโปรแกรมเมอร์ตัวยงนี่มันช่างน่ากลัว! (ดูที่เครื่องหมายอัศเจรีย์นั่นคือวิธีที่คุณรู้ว่าพวกเขากำลังทำงานอยู่ในขณะนี้) ไม่เพียง แต่ฉันมักจะต้องการตัวเลขตัวเอง แต่สัญลักษณ์!@#$%^&*(มีประสิทธิภาพอย่างสมบูรณ์ครึ่งเวลาเช่นกัน! ในฐานะที่เป็นโปรแกรมเมอร์ C แทนที่จะใช้เวลาในการยุ่งกับการเขียนโค้ดเพื่อแก้ไขแล็ปท็อปของฉันฉันจึงสนใจที่จะแก้ไขปัญหามากกว่า ในช่วงไม่กี่สัปดาห์ที่ผ่านมาช้าตัวเลขตัวอักษรทั้งหมดในรหัสของฉันถูกแทนที่ด้วยเลขฐานสิบหกเพื่อที่ฉันจะได้ไม่ต้องไปหาตัวเลขเพื่อคัดลอกและวาง 1-9อย่างไรก็ตามตัวเลขบางไม่สะดวกในการพิมพ์โดยไม่ต้องคีย์ ยกตัวอย่างเช่นจำนวน1ไม่สามารถเขียนได้ดังนั้นเพียงแค่ในเลขฐานสิบหกและฉันได้ resorted เพื่อแทนที่ในรหัสของฉันด้วย1 0xF - 0xEคีย์เท่านั้นที่ได้รับผลกระทบ1-9ดังนั้นฉันรักษาการใช้งานเต็มรูปแบบของสัญลักษณ์เช่น+, และ- /อย่างไรก็ตามฉันไม่สามารถใช้การคูณหรือวงเล็บเช่น*และ(มักจะขาด สิ่งนี้นำไปสู่ความท้าทายของคุณ อินพุต จำนวนเต็มnถึง stdin หรือเทียบเท่าภาษาของคุณ หากคุณต้องการจำนวนเต็มอาจนำหน้าหรือตามด้วยบรรทัดใหม่หรืออักขระช่องว่างอื่น หรือคุณอาจรับอินพุตผ่านอาร์กิวเมนต์บรรทัดคำสั่ง โปรแกรมของคุณควรตอบสนองต่อการป้อนข้อมูลเชิงลบได้อย่างถูกต้องและสามารถจัดการกับจำนวนเต็มที่มีลายเซ็นอย่างน้อย 32 บิต เอาท์พุต โปรแกรมของคุณควรส่งออกในรูปแบบที่สังเกตได้บางวิธีที่สั้นที่สุด (ในอักขระที่ไม่ใช่ช่องว่าง) ที่เป็นไปได้ในการเขียนตัวเลขnเป็นผลรวมความแตกต่างหรือการหารของค่าเลขฐานสิบหกอย่างน้อยหนึ่งค่า มีมากกว่าหนึ่งวิธีในการแก้ไขปัญหานี้และคุณไม่ต้องการให้คุณใช้เอาต์พุตที่มีความยาวเท่ากันมากกว่าวิธีอื่น เอาท์พุทควรจะอยู่ในรูปแบบA % A % A...ที่Aเป็นค่าฐานสิบหกต่อไปนี้0xมีตัวเลขเท่านั้นA-F a-fและเป็นหนึ่งของสัญลักษณ์% -+/อนุญาต/อธิบายการหารจำนวนเต็มไม่ใช่ทศนิยม …

3
วางกระเบื้อง Carcassonne
เกมกระดาน ในเกมกระดานผู้เล่น " การ์กาซอน " วางไพ่โดยการจับคู่ขอบของพวกเขาและรับคะแนนสูงสุดผ่านการสร้างพื้นที่ต่อเนื่องขนาดใหญ่ของภูมิประเทศ ต่อไปนี้คือ (ประมาณ) ประเภทและปริมาณของกระเบื้องที่รวมอยู่ในเกม: #01 x4 #02 x5 #03 x8 #04 x2 #05 x9 #06 x4 #07 x1 #08 x3 #09 x3 #10 x3 #11 x4 #12 x5 #13 x3 #14 x3 #15 x2 #16 x5 #17 x5 #18 x2 #19 x3 #20 x1 #21 …

14
รีไซเคิลสำหรับปีใหม่
มติที่ดีสำหรับปี 2558 คือการมีชีวิตที่ยั่งยืน เราจะเริ่มด้วยการรีไซเคิล รหัสรีไซเคิลนั่นคือ! งานของคุณคือการพิมพ์หมายเลข2015ไปที่ STDOUT โดยมีหรือไม่มีการขึ้นบรรทัดใหม่ (และเฉพาะที่) อย่างไรก็ตามคุณต้องทำเช่นนั้นโดยการรีไซเคิลรหัสเก่าจาก PPCG นี่คือวิธีการทำงาน: เลือกคำตอบที่โพสต์บน CodeGolf.SE ก่อน 2014-12-16 00: 00: 00Z (วันที่ฉันโพสต์ไว้ในกล่องทราย) ข้อยกเว้น:คุณไม่สามารถใช้คำตอบใด ๆ จากการท้าทายปีใหม่ของปีที่แล้ว เลือกหนึ่งบล็อคโค้ดจากคำตอบนั้น (ไม่ใช่ตัวอย่างโค้ดอินไลน์จะต้องเป็นย่อหน้าของตัวเอง) บล็อกนี้จะต้องโฆษณาเป็นรหัสจริงเช่นคุณไม่สามารถใช้กรณีทดสอบหรือตัวอย่างผลลัพธ์ที่เกิดขึ้นเพื่อใช้การจัดรูปแบบ monospace จัดเรียงอักขระในบล็อครหัสนั้นใหม่เพื่อจัดทำแบบฟอร์มสำหรับการท้าทายนี้ คุณสามารถเปลี่ยนคำสั่งซื้อเท่านั้นไม่สามารถเพิ่มหรือลบอักขระใด ๆ ได้ รวมถึงการขึ้นบรรทัดใหม่ คุณจะต้องสามารถแสดงให้เห็นว่าบล็อกต้นฉบับนั้นมีความถูกต้องในภาษาของคุณ ในกรณีที่ดีที่สุดคุณสามารถทำได้โดยแสดงว่ามันทำงานโดยไม่มีข้อผิดพลาดในการรวบรวมหรือเวลาทำงาน ดังนั้นในขณะที่รหัสต้นฉบับอาจเป็นจาวาคุณสามารถใช้เป็นคำตอบของ Whitespace ได้ (เนื่องจากไฟล์ทุกไฟล์นั้นถูกต้องใน Whitespace) แต่อาจไม่สามารถใช้เป็นคำตอบของ Python ได้ (เนื่องจากต้นฉบับจะไม่เป็นไวยากรณ์ Python ที่ถูกต้อง ) โปรดทราบว่าคำตอบของคุณต้องไม่สนใจอินพุตและสถานะภายนอกทั้งหมด (รวมถึงวันที่ปัจจุบันจริง) มันอาจอ่านได้จาก STDIN …

1
คุณสามารถได้ยินฉันตอนนี้?
พื้นหลัง คุณเป็นผู้บริหารระดับสูงของอาณาจักรซอฟต์แวร์ เวลาของคุณคุ้มค่ากับเงินมากมาย คุณต้องเดินทางในเส้นทางที่มีประสิทธิภาพที่สุดเสมอ อย่างไรก็ตามในฐานะผู้บริหารคุณใช้เวลาส่วนใหญ่เข้าร่วมในการโทรศัพท์ที่สำคัญ เป็นสิ่งสำคัญยิ่งที่คุณไม่ต้องโทรออกดังนั้นคุณจะต้องไม่เดินทางผ่านพื้นที่ที่ไม่มีบริการโทรศัพท์มือถือ! ความท้าทาย คุณจะได้รับรายการของสิ่งอันดับสามรายการแต่ละรายการแสดงถึงตำแหน่งและพลังของหอคอยเซลล์ ตัวอย่างเช่น[50, 25, 16]จะเป็นตัวแทนของหอคอยเซลล์ที่<x,y> = <50, 25>มีรัศมี 16 แทนวงกลมแห่งอิทธิพล เมื่อนึกถึงรายการนี้คุณจะต้องเดินทางจากตำแหน่งเริ่มต้น<0, 0>ของคุณไปยังจุดหมายปลายทางที่<511, 511>อยู่ในระยะทางที่สั้นที่สุดโดยไม่สูญเสียบริการเซลล์ นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ! อินพุต / เอาต์พุต คุณมีอิสระในการจัดการอินพุตให้อยู่ในรูปแบบที่ทำให้อ่านง่ายเช่นในไฟล์หรือเป็นอาร์เรย์ที่ซ้อนกันผ่าน STDIN โดยใช้evalเป็นต้นคุณสามารถ hardcode อินพุตได้ตราบใดที่โค้ดของคุณใช้ได้กับอินพุตอื่นเช่น ดี. อักขระที่แน่นอนที่ใช้เพื่อ hardcode อินพุตจะไม่ถูกนับ แต่ชื่อตัวแปรและอักขระการกำหนดจะ คุณไม่ควรสันนิษฐานว่าอินพุตอยู่ในลำดับเฉพาะหรือหอเซลล์ทุกแห่งเกี่ยวข้องกับปัญหา หากคุณมีคำถามใด ๆ โปรดออกความคิดเห็นและฉันจะพยายามชี้แจง เอาท์พุทจะเป็นรายการของพิกัดทำเครื่องหมายจุดที่เมื่อเชื่อมต่อในการสั่งซื้อในรูปแบบเส้นทางไปยังทางออก ความแม่นยำนั้นจะต้องถูกปัดเศษเป็นจำนวนเต็มที่ใกล้เคียงที่สุดเท่านั้นและหากคุณมี 1-2 ตัวอย่างจากสิ่งที่ฉันมีอยู่ในตัวฉันเอาท์พุทนั่นเป็นเรื่องปกติ ฉันได้รวมภาพด้านล่างเพื่ออธิบายสิ่งนี้ ขอให้โชคดี! ตัวอย่าง input: [ 32, 42, …

13
หมุดตัวเชื่อมต่อ DVI
นี่น่าจะเป็นความท้าทายของนักกอล์ฟที่ส่วนท้ายของสเปกตรัม แต่ฉันคิดว่ามันอาจจะดีที่จะนำเอาการเพิ่มประสิทธิภาพขนาดเล็กออกมาที่นี่ มีตัวเชื่อมต่อ DVI สามประเภทพื้นฐาน : DVI-A (อะนาล็อก), DVI-D (ดิจิตอล) และ DVI-I (รวมอยู่) นอกจากนี้ยังมีเวอร์ชั่นลิงค์เดียวและคู่ลิงค์ของตัวเชื่อมต่อ DVI-D และ DVI-I แต่ละตัวเชื่อมต่อที่ต่างกันห้าตัวนั้นใช้พินที่แตกต่างกัน ได้รับหนึ่งA, D1, D2, I1, I2เป็นตัวระบุสำหรับประเภทของการเชื่อมต่อการพิมพ์แทน ASCII ที่สอดคล้องกันของหมุดเชื่อมต่อที่: A: # # # # # # # ===== # # # # # # # # # D1: # # # # # # …

22
กำลังคำนวณ (3 + sqrt (5)) ^ n อย่างแน่นอน
วันนี้เป้าหมายของคุณคือการหาจำนวนเต็มและbให้จำนวนเต็มไม่เป็นลบnดังกล่าวว่า: คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่รับพารามิเตอร์nและเอาท์พุตaและbในรูปแบบที่คุณเลือก ช่องโหว่มาตรฐานใช้ นอกจากนี้ยังมีวัตถุประสงค์เพื่อให้คุณใช้ปัญหาข้างต้นโดยใช้เลขคณิตพื้นฐานด้วยตัวคุณเอง ดังนั้นคุณไม่สามารถใช้ฟังก์ชันพีชคณิต, ปันส่วนหรือฟังก์ชันที่ใช้โครงสร้างทางคณิตศาสตร์ที่ไม่สำคัญ (ตัวอย่างเช่นลำดับลูคัส ) รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่างอินพุต / เอาต์พุต: 0 → 1, 0 1 → 3, 1 2 → 14, 6 3 → 72, 32 4 → 376, 168 5 → 1968, 880 6 → 10304, 4608 7 → 53952, 24128 8 → 282496, 126336 9 → …


21
วิธีที่แตกต่างไปข้างหน้า
รับรายการของจำนวนเต็มผลิตความแตกต่างไปข้างหน้าตามคำสั่ง / ความลึกที่ระบุ สำหรับรายการจำนวนเต็ม: (10, 18, -12, 4, 8, -3, -5, 67, 9, 14) ความแตกต่างไปข้างหน้าตามคำสั่ง / ความลึกต่างๆ ได้แก่ : 0 10, 18, -12, 4, 8, -3, -5, 67, 9, 14 1 8, -30, 16, 4, -11, -2, 72, -58, 5 2 -38, 46, -12, -15, 9, 74, -130, 63 3 …

3
การวาดในทับ
เขียนโปรแกรมที่ใช้ในบล็อกสี่เหลี่ยมของข้อความที่ประกอบด้วยX's และ.' s เช่นคร่าวๆนี้A: ...... ..XX.. .X..X. .XXXX. .X..X. .X..X. เอาท์พุทการเป็นตัวแทนของกริดนี้หมุน 45 องศาทวนเข็มนาฬิกาโดยวาดเครื่องหมายสแลช - ไปข้างหน้าหรือข้างหลังขึ้นอยู่กับบริบท - ทุก ๆXเส้นขอบ a .หรือด้านข้างของกริด (มีช่องว่างเติมในส่วนที่เหลือ) /\/\ / /\ \ \/ / \ /\/ /\ \ \ / \/ \ \ \ \ \/ จำนวนช่องว่างต่อท้ายและนำหน้า (และขึ้นบรรทัดใหม่) ไม่สำคัญตราบใดที่รูปร่างของXอินพุตในนั้นถูกดูแลโดยเครื่องหมายทับ มันตกลงเพื่อตัดแถวพิเศษหรือคอลัมน์ของ.'s สำหรับ I / O คุณสามารถใช้การรวมกันของพารามิเตอร์บรรทัดคำสั่ง stdin / …

24
ตัวละครใน String Go Round และ Round
(ได้รับแรงบันดาลใจจากร่างแรกของการท้าทายเศษส่วนของ PhiNotPi ) คุณได้รับความกว้างความW > 1สูงH > 1และสตริงที่ประกอบด้วย2(W+H-2)อักขระ ASCII ที่พิมพ์ได้ งานคือการพิมพ์สตริงนี้ล้อมรอบสี่เหลี่ยมของความกว้างและความสูงที่กำหนดเริ่มต้นที่มุมซ้ายบนในความรู้สึกตามเข็มนาฬิกา ด้านในของสี่เหลี่ยมผืนผ้าเต็มไปด้วยช่องว่าง กรณีทดสอบหวังว่าจะทำให้เรื่องนี้ชัดเจนมาก คุณสามารถเขียนโปรแกรมหรือฟังก์ชันรับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด) อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ฟังก์ชันและพิมพ์ผลลัพธ์ไปที่ STDOUT (หรือทางเลือกใกล้เคียงที่สุด) หรือส่งคืนเป็นสตริง ต้องไม่มีช่องว่างนำหน้าหรือต่อท้าย (นอกเหนือจากที่อาจอยู่ในสตริงอินพุต) คุณสามารถเลือกที่จะออกบรรทัดใหม่ต่อท้ายบรรทัดเดียว นี่คือรหัสกอล์ฟดังนั้นการส่งที่สั้นที่สุด (เป็นไบต์) ชนะ กรณีทดสอบ แต่ละกรณีทดสอบจะ"String" W Hตามด้วยผลลัพธ์ที่คาดหวัง "Hello, World! " 5 4 Hello , ! dlroW "+--+|||+--+|||" 4 5 +--+ | | | | | | +--+ …

7
ฉันจะสร้างชื่อสมาชิกใน Python ได้อย่างไร?
ใน Python หนึ่งสามารถบันทึกไบต์โดย aliasing ฟังก์ชันที่ใช้ซ้ำ ๆ ตัวอย่างเช่น: r=range a=r(100) b=r(200) c=r(300) อย่างไรก็ตามเมื่อฟังก์ชั่นเป็นฟังก์ชั่นสมาชิกด้วยกันฉันไม่รู้ว่าจะใช้นามแฝงในวิธีที่อนุญาตให้ผูกมัดได้อย่างไร ตัวอย่างเช่น: s='Hello' // Plain code s=s.replace('H','J').replace('e','i').replace('l','m').replace('o','y') // What I am trying to do q=replace s=s.q('H','J').q('e','i').q('l','m').q('o','y') เห็นได้ชัดว่าสิ่งที่ฉันพยายามทำไม่ถูกต้อง และนี่ไม่ใช่: q=s.replace s=q('H','J') // Replaces the 'H' in 'Hello' s=q('e','i') // Replaces the 'e' in 'Hello'... and the J is gone. s=q('l','m') …
23 code-golf  tips  python 

5
วาดเงาของอาคาร
การป้อนข้อมูล: 1 X X X X XX XXXXXX X X X X XX XXXXXX X X X XXX X XX XXXXXX X X X XXX X XX XXXXXX X X X เอาท์พุท: X. X.. X... X.... XX. XXXXXX. X.X.X. X..... XX.. XXXXXX.. X.X.X.. XXX. X......XX... XXXXXX... X.X.X... XXX.. X......XX....XXXXXX.... X.X.X.... …

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