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

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

30
กรรไกรกระดาษหิน
ใช้กรรไกรกระดาษร็อคคลาสสิค เงื่อนไข: ผู้ใช้จะป้อน 'r', 'p' หรือ 's' โปรแกรมจะแสดงผลลัพธ์ 'r', 'p' หรือ 's' และผลลัพธ์ ตัวเลือกโปรแกรม ('r', 'p' หรือ 's') จะต้องมีการสุ่มหลอก ( ฉันกำลังมองหาคุณโฮเวิร์ด ) ผลลัพธ์สามารถแสดงด้วยอักขระที่พิมพ์ได้ใด ๆ ควรมีผลลัพธ์ที่เป็นไปได้สามแบบเสมอสำหรับสิ่งที่ผู้ใช้มีอินพุต (ผู้ใช้ชนะแพ้หรือเสมอ) จะเกิดอะไรขึ้นหากผู้ใช้ไม่ป้อนข้อมูลใด ๆ หรือสิ่งที่แตกต่างที่ 'r', 'p' หรือ 's' ไม่ควรสำคัญ คุณต้อง: ระบุรหัส golfed รหัส ungolfed คุณเรียกใช้โปรแกรมอย่างไร ตัวอย่างการเรียกใช้ ฉันจะเลือกคำตอบที่มีตัวละครน้อยถ้าเลือกเน็คไทคำตอบที่โหวตมากที่สุดจะถูกเลือก การเล่นกอล์ฟที่ดีและอาจเป็นโชคในความโปรดปรานของคุณ ฉันจะโพสต์คำตอบด้วยตนเองใน Java สำหรับคนที่อาศัยอยู่ในภูเขาใต้ก้อนหิน: r = ร็อค p …
21 code-golf  game 

24
Fizz-Buzzify สตริง
คุณจะได้รับสตริงที่มีตัวอักษรภาษาอังกฤษเท่านั้นทั้งตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ (ASCII 65-90 และ 97-122) งานของคุณคือการส่งออกสตริงรุ่น Fizz-Buzzified Fizz-Buzzify สตริงได้อย่างไร ตัวอักษรแต่ละตัวที่มีดัชนีสม่ำเสมอในตัวอักษรภาษาอังกฤษ (ตัวอักษรต้องเป็นดัชนี 1:) a->1,b->2,...,z->26จะถูกเปลี่ยนเป็นfizzหากเป็นตัวพิมพ์เล็กและFIZZเป็นตัวพิมพ์ใหญ่ ( f -> fizz, F -> FIZZ) ตัวอักษรแต่ละตัวที่มีดัชนีคี่ในตัวอักษรภาษาอังกฤษจะกลายเป็นbuzzถ้ามันเป็นตัวพิมพ์เล็กและBUZZถ้ามันเป็นตัวพิมพ์ใหญ่ ( e -> buzz, E -> BUZZ) ลองตัวอย่างเพื่อแสดงอัลกอริทึมโดยใช้สตริงCodeGolf(ช่องว่างที่เพิ่มเข้ามาเพื่อความชัดเจน): "C o d e G o l f" -> "BUZZ buzz fizz buzz BUZZ buzz fizz fizz" ^ ^ ^ ^ …
21 code-golf  string 

26
An หรือ An An?
ในภาษาอังกฤษมีความสนุกสนานและความแตกต่างอย่างง่ายระหว่างanและa: คุณใช้anเมื่อก่อนหน้าคำที่ขึ้นต้นด้วยเสียงสระและaเมื่อคำนั้นเริ่มต้นด้วยเสียงพยัญชนะ เพื่อความเรียบง่ายในการท้าทายนี้ให้anนำหน้าคำที่ขึ้นต้นด้วยสระ ( aeiou) และaนำหน้าคำที่ขึ้นต้นด้วยพยัญชนะ อินพุต สตริงประกอบด้วยอักขระ ASCII เพียงพิมพ์ที่มี[?]ปรากฏอยู่ในสถานที่ที่คุณต้องเลือกที่จะใส่หรือan จะปรากฏต่อหน้าคำเสมอ คุณสามารถสันนิษฐานได้ว่าประโยคนั้นจะถูกต้องตามหลักไวยากรณ์และจัดรูปแบบเหมือนปกติa[?] เอาท์พุต สตริงอินพุตที่[?]ถูกแทนที่ด้วยคำที่เหมาะสม ( anหรือa) คุณต้องกังวลเกี่ยวกับตัวพิมพ์ใหญ่! เมื่อใดที่จะลงทุน ใช้อักษรตัวพิมพ์ใหญ่คำถ้าไม่มีตัวอักษรนำหน้า (เป็นคำแรกในอินพุต) หรือหากเป็นตัวอักษรตัวใดตัวหนึ่ง.?!ตามด้วยช่องว่าง ตัวอย่าง Input: Hello, this is [?] world! Output: Hello, this is a world! Input: How about we build [?] big building. It will have [?] orange banana hanging out …

6
รูปหกเหลี่ยมที่เชื่อมต่อกับ ASCII
ภาพรวม ให้รูปหกเหลี่ยมจำนวนหนึ่งจัดเรียงไว้ในรูปร่างที่เชื่อมต่อภายในขอบเขตของภาพศิลปะ 50 x 50 ASCII รูปร่างที่คุณเลือกนั้นสามารถเลือกได้ตามใจชอบไม่ว่าคุณจะชอบอะไรในการเล่นกอล์ฟตราบใดที่มันเชื่อมต่อกัน มันอาจจะมีรูหากพวกมันมีขนาดใหญ่กว่าหกเหลี่ยมหนึ่ง (มิฉะนั้นจำนวนของรูปหกเหลี่ยมจะไม่ชัดเจน) แบบ รูปหกเหลี่ยมทั้งหมดต้องอยู่ในรูปแบบต่อไปนี้ (ขนาดและการวางแนวนี้เท่านั้นที่ถูกต้อง): __ / \ \__/ Note there are 2 underscores per horizontal edge. รูปหกเหลี่ยมสองจุดเชื่อมต่อกันโดยตรงหากพวกเขาแบ่งปันขอบ: __ __ / \__ / \ \__/ \ \__/ \__/ or / \ \__/ รูปหกเหลี่ยมสองอันไม่ได้เชื่อมต่อหากแบ่งปันเพียงจุดยอด: __ __ / \/ \ \__/\__/ การแบ่งปันครึ่งหนึ่งของขอบยังไม่นับรวมเป็นสิ่งที่เชื่อมต่อ: __ / \ …

20
ค้นหาวันอาทิตย์สุดท้ายของทุกเดือนของปีที่กำหนด
วิธีแก้ปัญหา F # ที่รู้จักกันใน 140 ตัวอักษรและนี่คือปัญหารหัส Rosetta ผลลัพธ์ที่ต้องการใน stdout หรือตัวแปรสตริงสำหรับปีอินพุต2014: 2014-01-26 2014-02-23 2014-03-30 2014-04-27 2014-05-25 2014-06-29 2014-07-27 2014-08-31 2014-09-28 2014-10-26 2014-11-30 2014-12-28 ตามที่ได้รับการร้องขอสำหรับ 1900: 1900-01-28 1900-02-25 1900-03-25 1900-04-29 1900-05-27 1900-06-24 1900-07-29 1900-08-26 1900-09-30 1900-10-28 1900-11-25 1900-12-30 และ 2,000: 2000-01-30 2000-02-27 2000-03-26 2000-04-30 2000-05-28 2000-06-25 2000-07-30 2000-08-27 2000-09-24 2000-10-29 2000-11-26 2000-12-31 …
21 code-golf  date 

8
รหัสที่สั้นที่สุดเพื่อโยน IllegalArgumentException ใน Java
ตกลงเราทุกคนรู้วิธีปกติในการโยน IllegalArgumentException ใน Java: throw new IllegalArgumentException(); // 37 characters แต่จะต้องมีวิธีที่สั้นกว่า (ดังในตัวอักษรน้อยกว่า) เราจะสร้าง java.lang.IllegalArgumentException ด้วยรหัสที่น้อยลงได้อย่างไร แฟรกเมนต์โค้ดต้องคอมไพล์และรันใน java 7 ไม่มีการนำเข้า / แพ็คเกจภายนอก (เช่นไม่ได้ใช้java.util.Arrays.toString()) ข้อยกเว้นเท่านั้น: java.lang เนื่องจากมีการนำเข้าโดยอัตโนมัติ คุณสามารถเพิ่มวิธีการ / ชั้นเรียนของตัวเอง มันจะต้องโยน java.lang.IllegalArgumentException แก้ไข:เอาต์พุตข้อผิดพลาด (stacktrace) ต้องตั้งชื่อมัน java.lang.IllegalArgumentException ดังนั้นจึงไม่มีคลาสย่อยของมัน มีฐานที่จะเริ่มต้นจาก: class Titled { public static void main(String[] args) { throw new IllegalArgumentException(); } }
21 code-golf  java 

14
ค้นหา Semordnilaps
Semordnilaps (ยังเป็นที่รู้จักกันในนาม heteropalindromes, กึ่ง palindromes, ครึ่ง palindromes, reversgrams, mynoretehs, anagrams ย้อนกลับได้คำพลิกผันคำหรือ anadromes) เป็นคำที่สะกดเมื่อย้อนกลับ ตัวอย่างบางส่วนคือ: วอร์ด <=> วาด ขุด <=> เดนิม อะไหล่ <=> สาย รับจำนวนเต็มบวก N (ผ่านฟังก์ชั่นอาร์กิวเมนต์หรือ STDIN) ส่งคืน / ส่งออกรายการ semordnilaps จากรายการคำศัพท์ภาษาอังกฤษนี้ที่มีตัวอักษร N ทั้งหมด w.txtรายชื่อของคำที่สามารถบันทึกไว้ในเครื่องคอมพิวเตอร์ของคุณเป็นไฟล์ข้อความที่เรียกว่า: นอกจากนี้คุณยังสามารถรับรายการจาก url แต่จะรวมอยู่ในจำนวนไบต์ กฎ: Palindromesไม่ใช่ semordnilaps! ดังนั้นคำว่า "เที่ยง", "โรเตอร์" และ "เรดาห์" ไม่ควรรวมอยู่ในรายการ ควรมีเพียงหนึ่งคำ (ในคู่ semordnilap) …
21 code-golf 

25
รหัส - กอล์ฟ: การเรียงสับเปลี่ยน
เขียนฟังก์ชั่นที่ใช้เป็นชุดของจำนวนเต็ม (สามารถเป็นรายการอาร์เรย์หรือคอนเทนเนอร์อื่น ๆ ที่มีตัวเลขต่างกัน) และส่งออกรายการการเปลี่ยนลำดับทั้งหมด Python (95 ตัวอักษร) : p=lambda s:s and sum(map(lambda e:map(lambda p:[e]+p,p(filter(lambda x:x!=e,s))),s),[]) or [[]] มันคงจะดีถ้าถูกทุบในภาษาเดียวกัน แต่การใช้งานในภาษาอื่นนั้นยินดีต้อนรับ!

23
สร้างชื่อคอลัมน์ excel จากดัชนี
อันนี้มาจากปัญหาชีวิตจริง แน่นอนว่าเราแก้ไขมันได้ แต่มันทำให้รู้สึกเหมือนว่าทำได้ดีกว่านั่นคือวิธีแก้ปัญหาที่มีความยาวและอ้อมเกินไป อย่างไรก็ตามเพื่อนร่วมงานของฉันไม่สามารถนึกถึงวิธีการเขียนที่กระชับยิ่งขึ้น ดังนั้นฉันนำเสนอมันเป็นรหัสกอล์ฟ เป้าหมายคือการแปลงจำนวนเต็มที่ไม่ใช่ค่าลบเป็นสตริงเช่นเดียวกับที่ Excel แสดงส่วนหัวของคอลัมน์ ดังนั้น: 0 -> A 1 -> B ... 25 -> Z 26 -> AA 27 -> AB ... 51 -> AZ 52 -> BA ... 16,383 -> XFD ต้องทำงานอย่างน้อยมากถึง 16,383 แต่เกินกว่าจะยอมรับได้เช่นกัน (ไม่มีคะแนนโบนัส) ฉันรอคอยมากที่สุดในการแก้ปัญหา C # แต่ตามประเพณีของรหัสกอล์ฟภาษาการเขียนโปรแกรมจริงใด ๆ ยินดีต้อนรับ

30
การประมาณของ e
เราทุกคนรู้ว่าหมายเลขของออยเลอร์แทนด้วย e ถึงกำลังของตัวแปรบางตัว x สามารถประมาณได้โดยใช้ส่วนขยายของMaclaurin Series : โดยการให้ x เท่ากับ 1 เราได้ ท้าทาย เขียนโปรแกรมในภาษาใดก็ได้ที่ใกล้เคียงกับจำนวนของออยเลอร์โดยรับอินพุต N และคำนวณอนุกรมเป็นคำศัพท์ N-th โปรดทราบว่าเทอมแรกมีตัวส่วน 0 !, ไม่ใช่ 1!, เช่น N = 1 ตรงกับ 1/0! เกณฑ์การให้คะแนน โปรแกรมที่มีจำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ

24
คะแนนโบว์ลิ่งสิบพิน - รุ่นโบว์ลิ่งโลก
คะแนนโบว์ลิ่งโลก หลายคนไปที่ศูนย์โบว์ลิ่งในพื้นที่เพื่อเล่นโบว์ลิ่งไม่กี่เกมและหลายคนยังคงดิ้นรนเพื่อคำนวณคะแนนของพวกเขา World Bowling ได้แนะนำระบบการให้คะแนนที่ง่ายขึ้นเพื่อดึงดูดผู้คนให้เข้าร่วมการแข่งขันมากขึ้น ระบบการให้คะแนนนี้ใช้ในเกมระหว่างประเทศ ระบบการให้คะแนนทำงานเช่นนี้ (จากWikipedia ): ระบบการให้คะแนนโบว์ลิ่งของโลก - อธิบายว่า "การให้คะแนนเฟรมปัจจุบัน" [32] - ผลตอบแทนพินดังต่อไปนี้: การนัดหยุดงาน: 30 (ไม่คำนึงถึงผลของการหมุนต่อเนื่อง) สำรอง: 10 บวก pinfall ในม้วนแรกของเฟรมปัจจุบัน เปิด: pinfall ทั้งหมดสำหรับกรอบปัจจุบัน หากคุณไม่คุ้นเคยกับโบว์ลิ่งสิบพินนี่คือบทสรุป มี 10 พินในตอนท้ายของเลนโบว์ลิ่งที่เป้าหมายคือการทำให้พวกเขาทั้งหมดล้มลงด้วยลูกโบว์ลิ่ง คุณได้รับลูกบอล 2 ลูกเพื่อพยายามล้มพวกเขาทั้งหมดโดยเฉพาะอย่างยิ่งการตีพวกเขาทั้งหมดด้วยการหมุนรอบแรก (เรียกว่าการโจมตี ) หากคุณได้รับการตีจากนั้นกรอบนั้นจะเสร็จสมบูรณ์และคุณไม่จำเป็นต้องหมุนลูกบอลเป็นครั้งที่สอง นัดหยุดงานมีค่า 30 หากคุณไม่ล้มลงทั้งสิบคุณจะได้รับอีกหนึ่งม้วน หากคุณเคาะลงทั้งหมดของหมุดที่เหลือที่เป็นที่รู้จักกันเป็นอะไหล่ คะแนนมีค่า 10 พิน + จำนวนพินที่ล้มในการหมุนครั้งแรก ตัวอย่างเช่นถ้าฉันล้มลง 7 พินจากนั้นก็จัดการที่จะล้มลง 3 …

16
Sigmafy การแสดงออก
สำหรับผู้ที่ไม่ทราบซิกมา เป็นตัวอักษรกรีกที่ใช้อย่างมากในวิชาคณิตศาสตร์เป็นสัญญาณรวม ได้รับสตริงที่แสดงการแสดงออกขึ้นอยู่กับว่าเราจะแสดงคำนวณผลรวมของผลการค้นหาสำหรับสำหรับแต่ละ\} โดยสังเขปคุณควรพบSเช่นนั้น:kkkE( k )E(k)E(k)E( k )E(k)E(k)k ∈ { 1 , 2 , 3 , 4 , 5 }k∈{1,2,3,4,5}k\in\{1,2,3,4,5\}SSS S= ∑k = 15E( k )S=Σk=15E(k)S=\sum^5_{k=1}E(k) ตัวอย่างของนิพจน์: E( k ) = k2+ k2E(k)=k2+k2E(k)=\frac k 2 + k^2 รายละเอียด คุณรับประกัน: นิพจน์นั้นถูกต้องดังนั้นจึงไม่มีข้อผิดพลาดและขึ้นอยู่กับไวยากรณ์ที่เลือก (เช่น: หากคุณสนับสนุนเท่านั้น2*kจะไม่มี2k) เพียงได้กำหนดค่าในหมู่ผลลัพธ์ของคุณเพื่อให้ค่าไม่ชอบ1/0, infหรือnanจะปรากฏ คุณสามารถสันนิษฐานได้ว่านิพจน์ด้านบนเหมาะสมกับขีด จำกัด ของภาษาการเขียนโปรแกรมที่คุณเลือกดังนั้นมันจะไม่ส่งผลให้เกิดการโอเวอร์โฟลว์หรือข้อผิดพลาดอื่น ๆ ที่เกี่ยวข้องกับการ จำกัด …

30
ลองทำตาราง!
งาน รับอักขระที่ไม่สามารถพิมพ์ช่องว่างได้หนึ่งตัวสร้างตารางขนาด 3x3 ของอินพุตนั้น ตัวอย่างเช่นถ้าอินพุตเป็น#ดังนั้นเอาต์พุตคือ: ### # # ### กฎระเบียบ รูปแบบเอาต์พุตเข้มงวดแม้ว่าจะขึ้นบรรทัดใหม่ต่อท้ายก็ตาม หมายความว่าต้องการช่องว่างตรงกลางและยังต้องใช้อักขระขึ้นบรรทัดใหม่สองตัวเพื่อแยกสามบรรทัด Testcases การป้อนข้อมูล: # เอาท์พุท: ### # # ### การป้อนข้อมูล: A เอาท์พุท: AAA A A AAA การป้อนข้อมูล: 0 เอาท์พุท: 000 0 0 000 เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์

20
จัดลำดับเมทริกซ์ใหม่สองครั้ง
คุณจะได้รับตารางเมทริกซ์และรายการ (หรือเวกเตอร์)ของความยาวที่มีหมายเลขผ่าน (หรือผ่าน ) งานของคุณคือการเรียงลำดับคอลัมน์และแถวของเมทริกซ์ตามคำสั่งที่ระบุไว้ในยูn × nn×nn \times nยูn 1 n 0 n - 1AAAยูuunnn111nnn000n - 1n−1n-1AAAยูuu นั่นคือคุณจะสร้างเมทริกซ์ที่องค์ประกอบ -th เป็นองค์ประกอบ -th ของ คุณควรแสดงผลลัพธ์ของการผกผันนี้ นั่นคือองค์ประกอบ (i, j) -th ของจะสิ้นสุดที่ตำแหน่งในเมทริกซ์ใหม่BBB( i , j )(i,j)(i,j)( u ( i ) , u ( j ) )(u(i),u(j))(u(i),u(j))AAAAAA( u ( i ) , u ( j …

9
เพื่อนบ้าน Levenshtein
ตารางตัวเลขส่วนใหญ่จะมีที่แตกต่างกันจำนวนตารางอย่างน้อย 1 กับที่พวกเขาLevenshtein ระยะทางเป็นสิ่งที่ 1. สำหรับตารางที่กำหนดxxxแต่ละตารางที่ตรงตามเงื่อนไขนี้จะเรียกว่าเป็นเพื่อนบ้าน Levenshteinของxxxxตัวอย่างเช่น363636เป็นเพื่อนบ้านของ Levenshtein ที่161616เนื่องจากต้องการเพียง 1 การแก้ไข ( 1→31→31 \to 3 ) อย่างไรก็ตาม646464ไม่ใช่เพื่อนบ้านของ Levenshtein ที่161616เนื่องจากต้องมีการแก้ไขอย่างน้อย 2 ครั้ง ตัวเลขที่มีผู้นำ 0s ( 2025→0252025→0252025 \to 025 ) ไม่ใช่เพื่อนบ้านของ Levenshtein งานของคุณคือการใช้หมายเลขสแควร์เป็นอินพุตและเอาต์พุตในรูปแบบที่สมเหตุสมผลรายการทั้งหมดของเพื่อนบ้าน Levenshtein คุณอาจรวมเพื่อนบ้านซ้ำในรายการหากคุณต้องการ แต่คุณไม่สามารถรวมอินพุตต้นฉบับเนื่องจากไม่ใช่เพื่อนบ้านของ Levenshtein รูปแบบที่เหมาะสมควรมีตัวคั่นบางประเภทระหว่างผลลัพธ์เช่น,หรือขึ้นบรรทัดใหม่และสามารถส่งออกอักขระด้วยค่า Unicode ที่สอดคล้องกัน (เช่น brainfuck) แทนที่จะเป็นตัวเลขเอง ลำดับของเอาต์พุตไม่สำคัญ การป้อนข้อมูลนี้จะเป็นจำนวนตารางมากกว่า0000โปรแกรมของคุณไม่ควรมีข้อ จำกัดทางทฤษฎีแต่ถ้ามันล้มเหลวสำหรับคนจำนวนมากด้วยเหตุผลเชิงปฏิบัติ (เช่นเกิน 32- บิต) นั่นเป็นเรื่องที่สมบูรณ์ หากอินพุตไม่มีเพื่อนบ้านของ Levenshtein …

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