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

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

30
บันไดตัวอักษร
ความท้าทาย งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ให้ผลลัพธ์ต่อไปนี้โดยไม่มีอินพุต: a bb ccc dddd eeeee ffffff ggggggg hhhhhhhh iiiiiiiii jjjjjjjjjj kkkkkkkkkkk llllllllllll mmmmmmmmmmmmm nnnnnnnnnnnnnn ooooooooooooooo pppppppppppppppp qqqqqqqqqqqqqqqqq rrrrrrrrrrrrrrrrrr sssssssssssssssssss tttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuu vvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwww xxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzz เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในแต่ละภาษาจะเป็นผู้ชนะ

30
บัตรใบไหน
บทนำ นานมาแล้วเมื่อฉันใช้รหัสเกมไพ่ที่มีการเล่นไพ่ตามปกติฉันใช้เพื่อระบุหมายเลขสำหรับการ์ดแต่ละใบและเรียกใช้ฟังก์ชันที่มีหมายเลขบางหมายเลขเพื่อรับการ์ด นี่เป็นแรงบันดาลใจให้ฉันทำสิ่งนี้ ดังนั้นสำหรับคนที่ไม่รู้จักไพ่ไพ่สำรับไพ่ประกอบด้วยไพ่ 52 ใบ (13 ใบในแต่ละชุดทั้งสี่คือ Hearts, Diamonds, Spades, Clubs) ในแต่ละชุดมีไพ่ 13 ใบ - อันดับแรกไพ่ที่มีหมายเลขตั้งแต่ 2-10 จากนั้นแจ็ค (J), ราชินี (Q), คิง (K) และเอซ (A) นี่คือคำสั่ง ท้าทาย ความท้าทายคือการใช้จำนวนเต็มระหว่าง 1-52 เป็นอินพุตและแสดงการ์ดที่ตำแหน่งนั้น แต่ผลลัพธ์ของคุณจะต้องเป็นคำพูด นอกจากนี้ยังต้องรักษาลำดับเช่นไพ่ 13 ใบแรกจะเป็นของ Hearts จากนั้น Diamonds จากนั้น Spades และสุดท้าย Clubs ตัวอย่างเช่นหากมีคนเลือกหมายเลข30บัตรนั้นจะเป็นของชุดที่สามคือ Spades มันจะเป็นไพ่ใบที่สี่ในชุดสูทซึ่งหมายถึงหมายเลข 5 ดังนั้นผลลัพธ์ของคุณในคำจะต้องเป็น: five of spadesและควรเป็นไปตามรูปแบบนี้เช่นการ์ดใบแรกตามด้วยofและชื่อชุดที่ …

13
รากที่สองของศิลปะ ASCII
คุณกำลังทำงานเป็นนักศึกษาฝึกงานสำหรับนักคณิตศาสตร์ที่หนึ่งจริงๆเกลียดเท็กซ์, น้ำยาง, ฯลฯ มากเพื่อให้เขาได้ตัดสินใจที่จะละทิ้งการเรียงพิมพ์ทั้งหมดใด ๆ และทำให้คุณทำทั้งหมดในการจัดรูปแบบ ASCII คุณเบื่อเรื่องนี้ไปซักพักแล้วและตัดสินใจที่จะเริ่มทำงานอัตโนมัติบางส่วนโดยเริ่มจากรากที่สอง นี่คือวิธีการสร้างรากที่สอง: ### this is the input ### ### _____ put a row of underscores stretching one character off either side on top ### ### ### _____ put a diagonal of slashes in front going the height of the input / ### / …

10
รองเท้าสำหรับม้าน้ำ
แน่นอนว่าม้าน้ำจำเป็นต้องมีรองเท้า อย่างไรก็ตามม้าน้ำที่มีเพียงหางเดียวต้องการเพียงรองเท้าเดียว น่าเสียดายที่รองเท้ามาเป็นคู่เท่านั้น เงินนั้นเข้มงวดสำหรับรัฐบาลซีฮอร์ดังนั้นพวกเขาจึงจำเป็นต้องซื้อคู่ให้น้อยที่สุด ม้าน้ำแต่ละตัวมีขนาดรองเท้าxโดยที่xเป็นจำนวนเต็มบวก อย่างไรก็ตามม้าน้ำสามารถสวมรองเท้าขนาดx - 1หรือx + 1หากจำเป็น งานของคุณคือส่งออกจำนวนคู่ต่ำสุดที่รัฐบาลซีฮอร์สต้องซื้อเพื่อใส่รองเท้าให้กับม้านำ้าทั้งหมด คุณสามารถป้อนข้อมูลตามที่คุณต้องการช่องโหว่มาตรฐาน ฯลฯ เช่นนี้คือcode-golfรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ 2 4 6 6 8 14 -> 4 2 1 3 1 1 -> 3 4 1 4 9 1 8 9 1 8 4 -> 6 1 2 3 5 7 8 10 12 …
30 code-golf 

14
ฆ่ามันด้วยไฟ
การปฏิเสธความรับผิดชอบ: เรื่องราวที่บอกไว้ในคำถามนี้เป็นเรื่องสมมติทั้งหมดและคิดค้นขึ้นเพื่อวัตถุประสงค์ในการให้คำแนะนำ ฉันเป็นเกษตรกรที่ชั่วร้ายและเพื่อเพิ่มราคาข้าวสาลีในพื้นที่ของฉันฉันตัดสินใจเผาไร่นาของเกษตรกรทั้งหมดที่อยู่รอบตัวฉัน ฉันอยากเห็นทุ่งนาที่ลุกเป็นไฟ (ดังนั้นฉันสามารถใช้เสียงหัวเราะชั่วร้ายของฉันและขยี้มือด้วยความยินดี) แต่ฉันก็ไม่อยากถูกจับได้ดังนั้นฉันต้องการให้คุณจำลองสนาม เผาสำหรับฉัน งานของคุณ: เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เป็นอินพุตฟิลด์และส่งคืนสเตจของการเบิร์นจนกระทั่งฟิลด์ทั้งหมดเป็นแอช ส่วนที่เฉพาะเจาะจงของสนามที่อยู่ในไฟจะถูกแสดงด้วยจำนวนเต็มแทนความเข้มของเปลวไฟ ไฟเริ่มต้นที่ "1" และย้ายไปที่ "2" จากนั้น "3" และอื่น ๆ เมื่อถึงไฟ "4" มันจะจับโดยตรง (ไม่ใช่แนวทแยงมุม) บริเวณใกล้เคียงที่ติดไฟได้ง่าย เมื่อมันมาถึง "8" มันจะเผาไหม้ในการทำซ้ำครั้งถัดไปและเปลี่ยนเป็นเถ้าซึ่งมีเครื่องหมาย "A" เมื่อพื้นที่ยังไม่ถูกสัมผัสด้วยไฟจะมีเครื่องหมายเป็น "0" ตัวอย่างเช่นถ้าฟิลด์มีลักษณะดังนี้: 100 000 โปรแกรมของคุณควรแสดงผลลัพธ์ดังนี้: 100 000 200 000 300 000 410 100 520 200 630 300 741 410 852 520 A63 …

27
Pi รับเบอร์ของคุณ
ถาม: Pi น่าจะไม่มีที่สิ้นสุด นั่นหมายความว่าทุกหมายเลขจะอยู่ในส่วนทศนิยมของ pi งานของคุณจะใช้จำนวนเต็มบวกในการป้อนข้อมูลและส่งกลับตำแหน่งของตัวเลขนี้ในหลัก pi ในการส่งออก ตัวอย่างเช่นถ้าอินพุตเป็น 59เราจะส่งคืน4 นี่คือเหตุผล:เราจะค้นหาหมายเลข59ในหลักของ pi 3.14159265... ^^ ค่าเริ่มต้นที่หลักที่ 4 ดังนั้นผลลัพธ์จะเป็น 4เพื่อการส่งออกจะได้รับ ตัวอย่างอื่น ๆ : input : 1 output : 1 input : 65 output : 7 input : 93993 output : 42 input : 3 output : 9 กฎ: คุณไม่ต้องจัดการกับตัวเลขที่ไม่มีอยู่ภายใน 200 หลักแรก ช่องโหว่มาตรฐานเป็นสิ่งต้องห้ามเสมอ …
30 code-golf  pi 

30
สามารถวาง Wazirs บนกระดานหมากรุก N × N ได้กี่คน?
สมมติว่าชิ้นหมากรุกนางฟ้าใหม่ที่ชื่อว่า Wazir ได้รับการแนะนำให้รู้จักกับหมากรุก Wazirs สามารถย้ายจากตำแหน่ง ( x , y ) ไปที่: ( x +1, y ) ( x , y +1) ( x -1, y ) ( x , y -1) นั่นคือพวกเขาเคลื่อนตัวแบบออโธกอนอิกเหมือนโกง แต่เพียงก้าวเดียวในเวลาเดียวกับราชา สามารถวาง wazirs บนกระดานหมากรุก N × N ได้กี่คนเพื่อที่จะไม่มีผู้โจมตีสองคนโจมตีกันได้ บนกระดาน 1 × 1 สามารถมีได้เพียง 1 ชิ้นเท่านั้น บนกระดาน 2 × …

20
ฉันจะสต็อกถังอีกครั้งได้ไหม?
เด็กน้อยของฉันมีของเล่นแบบนี้: ของเล่นนี้ประกอบด้วย 10 ถังเล็กวางซ้อนกันได้ซึ่งเราจะนับจาก 1 (เล็กที่สุด) ถึง 10 (ใหญ่ที่สุด) บางครั้งเขาทำกองเล็ก ๆ และของเล่นจบลงเช่นนี้ เราสามารถเป็นตัวแทนแผนผังกองเช่นนี้: 1 6 4 9 2 7 5 10 3 8 ---------- <-- Floor 1 2 3 4 <-- Pile # หรือใช้วิธีอื่น: [[4,5],[9,10],[1,2,3],[6,7,8]] ชุดของกองถังนี้สามารถบรรจุใหม่ได้อย่างง่ายดายเพื่อสร้างชุดเดิม (ภาพแรก) เพียงแค่วางกองเล็ก ๆ ของถังขนาดเล็กไว้ในกองที่ใหญ่กว่า: 1 1 6 2 2 7 1 6 3 6 …

16
กำลังคำนวณ BPM ด้วยอินพุต
โปรแกรมรหัสที่สั้นที่สุดที่จะคำนวณค่าเฉลี่ยของ BPM (Beats ต่อนาที) โดยใช้จุดข้อมูล 8 จุดที่ผ่านไป นี่คือโพสต์แรกของฉันและฉันไม่ได้เห็นคำถามคล้ายกับนี้ เนื่องจากฉันเป็นแฟนเกมจังหวะมันคงจะดีถ้ามีเครื่องมือขนาดเล็กที่ใช้ในการคำนวณ BPM โดยใช้แป้นพิมพ์ของคุณเองและจังหวะของคุณเอง (ถ้าคุณมี ... ) ท้าทาย อินพุตทั้งหมดต้องเป็นเอกพจน์ (เช่นกดปุ่ม "Enter" เป็น "อินพุต" เท่านั้น) โปรแกรมของคุณจะต้องมีอย่างน้อย 9 อินพุต (เพื่อสร้างจุดข้อมูล 8 เวลาที่ผ่านไป) โปรแกรมของคุณควรส่งออก BPM ของการกดปุ่มที่ปัดเศษเป็นทศนิยม 2 ตำแหน่ง (เช่น 178.35) เวลาเริ่มต้นที่อินพุตแรก ไม่เริ่มต้นโปรแกรม นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดชนะ ตัวอย่างอินพุตและเอาต์พุต จัดเตรียมอินพุตและเอาต์พุตตัวอย่างอย่างน้อยหนึ่งรายการ ตรวจสอบให้แน่ใจว่าตรงกับคำอธิบายของคุณในสิ่งที่ป้อนควรมีลักษณะ การป้อนข้อมูล: > [Enter-Key] # User waits 1 second ... 7 …
30 code-golf 

7
ควินเติบโตช้า
ทำควินน์ ดูเหมือนง่ายใช่มั้ย ควินนี้ต้องเอาท์พุทตัวเองบวกกับตัวอักษรตัวแรกของมันซึ่งก็จะเอาท์พุทตัวเองบวกกับตัวละครตัวที่สองและอื่น ๆ วิธีนี้ควินควรในหลายชั่วอายุคนออกสำเนาสองฉบับ ตัวอย่าง: xช่วยให้รหัสของคุณ x + x[:1]เล่นควรเอาท์พุท การรันโปรแกรมผลลัพธ์ควรออกx + x[:2]และอื่น ๆ ... หากรหัสของคุณทำงานนี้ควรเอาท์พุทfoobar เล่นนี้ควรเอาท์พุทfoobarf foobarfoและต่อ ๆ ไปเรื่อย ๆ ตามรูปแบบนี้: foobar foobarf foobarfo foobarfoo foobarfoob foobarfooba foobarfoobar foobarfoobarf โปรแกรมของคุณจะต้องมีความยาวมากกว่า 2 ไบต์และจะต้องส่งออกอักขระพิเศษหนึ่งตัวของรหัสของตัวเองในแต่ละการวนซ้ำ
30 code-golf  quine 

30
นับตามแนวทแยง!
เรามีแกนแนวนอนมากมายสำหรับตัวเลข แต่ฉันคิดว่าพวกเขาน่าเบื่อจริงๆ งานของคุณในวันนี้คือการสร้างส่วนหนึ่งของแกนทแยงมุมระหว่างจำนวนเต็มสองจำนวนที่ไม่เป็นลบที่แตกต่างกันซึ่งถูกกำหนดให้เป็นอินพุต วิธีการสร้างแกนแนวทแยง? 0, 5ลองมาตัวอย่างเช่นมีการป้อนข้อมูล แกนของเราควรมีลักษณะเช่นนี้: 0 1 2 3 4 5 อย่างไรก็ตามแกนของเราควรดูดีสำหรับตัวเลขที่มีตัวเลขมากกว่า! ถ้าอินพุทคือ0, 14แกนใหม่ควรเป็น: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 แนวคิดคือตัวเลขตัวแรกของตัวเลขถัดไปบนแกนจะต้องถูกวางไว้อย่างแน่นอนเสมอหลังจากตัวเลขสุดท้ายของตัวเลขก่อนหน้า เพื่อทำความเข้าใจแนวคิดที่ดียิ่งขึ้นนี่เป็นอีกตัวอย่างหนึ่งของ997, 1004: 997 998 999 1000 1001 1002 1003 1004 กฎระเบียบ คุณอาจสมมติว่าอินพุตอยู่ในลำดับขึ้นหรือลง (คุณอาจเลือกระหว่าง5,3และ3,5) คุณอาจสมมติว่าความแตกต่างระหว่างจำนวนเต็มสองตัวนั้นต่ำกว่า 100 คุณอาจมี newline ชั้นนำหรือพื้นที่ชั้นนำที่สอดคล้องกัน …

18
เลขสามเหลี่ยมพลิก
สมมติว่าคุณแสดงรายการจำนวนเต็มบวกในรูปสามเหลี่ยมจากนั้นพลิกจากซ้ายไปขวา กำหนดตัวเลขส่งออกตัวเลขที่ส่งไป นี่คือการแม็พแบบย้อนกลับด้วยตนเอง 1 1 2 3 3 2 4 5 6 <---> 6 5 4 7 8 9 10 10 9 8 7 11 12 13 14 15 15 14 13 12 11 นี่คือองค์ประกอบที่nของA038722 ที่มีการจัดทำดัชนีแล้ว: 1, 3, 2, 6, 5, 4, 10, 9, 8, 7, 15, 14, 13, 12, …

18
เอกลักษณ์เมทริกซ์ N มิติ
รับค่าจำนวนเต็มบวกnเอาท์พุทN"มิติ" เอกลักษณ์มิติซึ่งเป็นN^Nอาร์เรย์1ที่มีส่วนประกอบทั้งหมดของดัชนีเท่ากันและ0อย่างอื่น N^Nหมายถึง N-by-N-by-N-by-... 1 -> [1] 2 -> [[1,0],[0,1]] 3 -> [[[1,0,0],[0,0,0],[0,0,0]],[[0,0,0],[0,1,0],[0,0,0]],[[0,0,0],[0,0,0],[0,0,1]]] 4 -> [[[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,1,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]]]] ตัวอย่างเช่นถ้าaเป็น4มิติตัวตน "เมทริกซ์" จากนั้นรายการเท่านั้นที่มี1จะเป็นa[0][0][0][0], a[1][1][1][1], และa[2][2][2][2]a[3][3][3][3] นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์ ช่องโหว่มาตรฐานใช้

21
ค้นหาจำนวนที่ใกล้เคียงที่สุด
งาน รับอาร์เรย์ของจำนวนเต็มใด ๆ เช่น: [-1,476,578,27,0,1,-1,1,2] และดัชนีของอาร์เรย์นั้น (ตัวอย่างนี้ใช้การจัดทำดัชนีตาม 0แม้ว่าคุณสามารถใช้การจัดทำดัชนีตาม 1เช่นกัน): index = 5 v [-1,476,578,27,0,1,-1,1,2] จากนั้นส่งคืนตัวเลขที่ใกล้ที่สุดซึ่งมากกว่าองค์ประกอบที่ดัชนีนั้น ในตัวอย่างจำนวนที่ใกล้เคียงที่สุดที่มากกว่า 1 คือ 27 (ห่างจาก 2 ดัชนี) index = 5 v [-1,476,578,27,0,1,-1,1,2] ^ Nearest greater number Output = 27 สมมติฐาน ที่ใกล้ที่สุดไม่รวมการห่อ โปรแกรมจะไม่ได้รับอาร์เรย์ที่มีความยาว 1 (เช่น; [55]) คุณจะต้องถือว่ามีเสมอมากขึ้นกว่าจำนวนองค์ประกอบที่กำหนด หากมีจำนวนมากกว่า 2 องค์ประกอบในระยะทางเท่ากันคุณสามารถส่งคืนได้ทั้งคู่ คู่ I / O Input: Index …

30
การกลับคำ
โซน่าอยู่ในบ้านของเธอพร้อมกับลูกสาวอายุ 10 ขวบ เธอต้องไปโรงเรียนเพื่อพาเด็กกลับจากโรงเรียนอีกเพราะโรงเรียนเลิกเวลา 14.00 น. ข้างนอกมันร้อนดังนั้นเธอจึงอยากจะทิ้งลูกคนเล็กไว้ที่บ้าน เธอให้เชือกกับลูกของเธอเพื่อให้เธอยุ่งในขณะที่เธอหายไป เธอขอให้เธอย้อนกลับคำในสตริง มีสายอักขระมากมายดังนั้นคุณต้องช่วยลูกสาวของเธอในการแก้ปัญหาอันยิ่งใหญ่นี้ ดังนั้นให้สตริงที่มีคำที่คั่นด้วยช่องว่างเดียวกลับคำในสตริง คุณสามารถสมมติได้ว่าไม่มีช่องว่างนำหน้าหรือต่อท้าย สตริงจะมีเฉพาะ[a-zA-z ]ดังนั้นคุณไม่จำเป็นต้องจัดการเครื่องหมายวรรคตอน คุณจะได้รับสตริงเป็นอินพุตและคุณควรส่งออกสตริง กรณีทดสอบตัวอย่าง: Input: Man bites dog Output: dog bites Man Input: The quick brown fox jumps over the lazy dog Output: dog lazy the over jumps fox brown quick The Input: Hello world Output: world Hello …

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