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

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

6
เครื่องกำเนิดตำแหน่งหมากรุก 960
บริบท Chess960 (หรือหมากรุกสุ่มฟิชเชอร์) เป็นเกมหมากรุกที่คิดค้นและให้การสนับสนุนโดยอดีตแชมป์หมากรุกโลกบ๊อบบี้ฟิสเชอร์ประกาศเมื่อวันที่ 19 มิถุนายน 2539 ในบัวโนสไอเรสอาร์เจนตินา มันใช้บอร์ดเดียวกันและชิ้นส่วนเป็นหมากรุกมาตรฐาน แม้กระนั้นตำแหน่งเริ่มต้นของชิ้นส่วนในอันดับบ้านของผู้เล่นจะถูกสุ่ม กฎระเบียบ เบี้ยสีขาววางอยู่ในอันดับที่สองเช่นเดียวกับในหมากรุกมาตรฐาน ชิ้นส่วนสีขาวที่เหลือทั้งหมดจะถูกวางแบบสุ่มในอันดับแรก บิชอปจะต้องวางบนสี่เหลี่ยมสีตรงกันข้าม จะต้องวางพระราชาบนสี่เหลี่ยมระหว่างเสา ชิ้นส่วนของสีดำถูกวางอย่างเท่าเทียมกันและตรงข้ามกับชิ้นส่วนของสีขาว จาก: http://en.wikipedia.org/wiki/Chess960 สำหรับทุกคนที่ต้องการโพสต์คำตอบ ... คุณต้องสร้างตัวสร้างตำแหน่งหมากรุก 960 ซึ่งสามารถสร้างหนึ่งใน 960 ตำแหน่งตามกฎที่อธิบายไว้ข้างต้นโดยสุ่ม (ต้องสามารถส่งออก 960, ฮาร์ดโค้ดหนึ่งตำแหน่งไม่ได้รับการยอมรับ!) และคุณต้อง เอาท์พุทอันดับสีขาวหนึ่งชิ้น ตัวอย่างผลลัพธ์: rkrbnnbq ที่อยู่: กษัตริย์ ราชินี Q b อธิการ ไม่มีอัศวิน r rook นี่จะเป็นโค้ดกอล์ฟและไทเบรกเกอร์จะเป็นอัพวีท

1
ระบุคอมไพเลอร์
ความท้าทาย คุณจะได้รับฟังก์ชั่นcompile(s: String): Integerที่ส่งคืน0หากsสามารถรวบรวมและสิ่งอื่นที่ไม่ใช่0ถ้ามันล้มเหลว (รหัสผลลัพธ์ไม่สำคัญ) สิ่งนี้คือคุณไม่รู้ภาษาที่ฟังก์ชันสร้างขึ้นดังนั้นจึงขึ้นอยู่กับคุณที่จะคิดออกโดยการให้ตัวอย่างโค้ดของฟังก์ชันเล็ก ๆ และสังเกตสิ่งที่มันส่งคืน ส่วนที่ดีคือทีมนักวิทยาศาสตร์เคยลองมาก่อนและได้ จำกัด รายชื่อไว้ที่C, C ++, C #, Java และ JavaScript (ภาษาเหล่านี้เป็นภาษาเดียวที่แพร่หลายซึ่งมีไวยากรณ์คล้ายกันที่ฉันคิด) กฎระเบียบ บังคับใช้กฎเกณฑ์ทั่วไปเกี่ยวกับกอล์ฟ ไม่มีรูปแบบเอาต์พุตที่เข้มงวด ตราบใดที่มันสามารถอ่านและเข้าใจได้มันก็โอเค หาก 5 ภาษาเหล่านี้ไม่เพียงพอสำหรับคุณคุณสามารถเพิ่มรายการโปรดของคุณเองและคุณจะได้รับรางวัลดาวพิเศษ (★) (ไม่ทำอะไรเลย) หมายเหตุ1 : คอมไพเลอร์เป็นรุ่นล่าสุดด้วยมาตรฐานล่าสุดของภาษาใดก็ตามที่ออกแบบมา หมายเหตุ2 : ฉันรู้ว่า JavaScript ไม่ได้รวบรวมแต่มันจะผ่านกระบวนการแยกวิเคราะห์ ถ้ามันเป็นรหัส JavaScript ที่ถูกต้องก็จะผ่าน
11 code-golf 

7
จำนวนหลุมในรูปหลายเหลี่ยม
ปัญหา : นับจำนวนหลุมในรูปหลายเหลี่ยมที่เชื่อมต่อ การเชื่อมต่อของรูปหลายเหลี่ยมนั้นได้รับการประกันโดยเงื่อนไขว่าสามเหลี่ยมทุกรูปในสามเหลี่ยมป้อนข้อมูลจะใช้ร่วมกันอย่างน้อย 1 ด้านกับรูปสามเหลี่ยมอื่นและมีรูปสามเหลี่ยมที่เชื่อมต่อเพียงชุดเดียว การป้อนข้อมูลเป็นรายชื่อLของnจุดในเครื่องบินและรายการT3 tuples 0...n-1กับรายการจาก สำหรับแต่ละรายการในTtuple (t_1,t_2,t_3)แสดงถึงจุดยอดสามจุด (จากรายการL) ของสามเหลี่ยมในรูปสามเหลี่ยม โปรดทราบว่านี่เป็นรูปสามเหลี่ยมในความหมายของ'รูปหลายเหลี่ยมสามเหลี่ยม'เนื่องจากสิ่งนี้จะไม่มีรูปสามเหลี่ยมสองรูปTซ้อนทับกัน ข้อกำหนดเพิ่มเติมคือคุณจะไม่ต้องฆ่าเชื้ออินพุตLและTไม่ต้องทำซ้ำ ตัวอย่างที่ 1 : ถ้าL = {{0,0},{1,0},{0,1},{1,2}}และT = {{0,1,2},{1,2,3}}จากนั้นรูปหลายเหลี่ยมที่ระบุมีจำนวนหลุมเป็น 0 ตัวอย่างที่ 2 : ถ้าL = {{0,0},{1,0},{2,0},{2,1},{2,2},{1,2},{0,2},{0,1},{.5,.5},{1.5,.5},{1.5,1.5},{.5,1.5}}และT = {{5,6,11},{5,10,11},{4,5,10},{3,8,10},{2,3,9},{2,8,9},{1,2,8},{0,1,8},{0,8,11},{0,7,11},{6,7,11},{3,4,10}}จากนั้นอินพุตรูปหลายเหลี่ยมควรเป็นผลลัพธ์ของ 2 ภารกิจคือการเขียนโปรแกรมที่สั้นที่สุด (หรือฟังก์ชั่น) ที่ใช้LและTเป็นอินพุตและส่งกลับจำนวนของหลุม 'ผู้ชนะ' จะได้รับการยอมรับว่าเป็นรายการที่มีจำนวนตัวอักษรน้อยที่สุด (วันสิ้นสุดเบื้องต้นที่ 1 มิถุนายน) การจัดรูปแบบอินพุตตัวอย่าง (หมายเหตุการทำดัชนี 0): 0,0 1,0 0,1 1,2 0,1,2 1,2,3

12
พิมพ์“ สวัสดีโลก!”
Hello, World!เขียนโปรแกรมซึ่งจะสร้างเหตุการณ์แป้นพิมพ์ที่พิมพ์ ไม่จำเป็นต้องขึ้นกับแพลตฟอร์ม มันไม่สามารถกดปุ่มใด ๆ ได้เลย ตัวอย่างเช่นใน Java Robot.KeyPress('H');จะปล่อยHกดดังนั้นคุณต้องปล่อยด้วยRobot.KeyRelease('H'); คุณอาจสันนิษฐานว่าแคปล็อคถูกปิดใช้งานเมื่อโปรแกรมของคุณทำงาน ตัวพิมพ์ใหญ่สามารถพิมพ์ได้ทั้งโดยกดปุ่ม Shift ค้างไว้หรือกดตัวอักษรหรือโดยการสลับการแคปล็อค สำหรับ!คุณอาจต้องใช้วิธีเปลี่ยน รหัสที่สั้นที่สุดชนะ

10
Lorem Ipsum ขนาดโค้ดเอาต์พุต
เอาท์พุทความยาวเดียวกันของLorem ipsumโค้ดของคุณคือ! กฎ: รหัสไม่สามารถเหมือนกันกับเอาท์พุท ไม่มีไลบรารีการบีบอัด โปรแกรมที่สั้นที่สุดในสองสัปดาห์ชนะ ไม่มีการใช้เครือข่ายการอ่านไฟล์และเทคนิคอื่น ๆ ที่หนึ่งได้อย่างง่ายดายสามารถแก้ปัญหารหัสกอล์ฟใด ๆ (มีeval, execฯลฯ ) ตัวอย่าง Your code with length 25. เอาท์พุต Lorem ipsum dolor sit ame

12
ค้นหาภาพสุ่มจาก http://i.imgur.com/
Imgur เป็นบริการโฮสต์รูปภาพฟรี หลายคนใช้มัน นี่คือตัวอย่างของการเชื่อมโยง Imgur นี้: http://i.imgur.com/T55muMD.png เขียนโปรแกรมที่แสดงลิงค์ imgur แบบสุ่ม (ใช้ได้) อย่างต่อเนื่อง ตัวอย่างเช่นต่อไปนี้เป็นตัวอย่างผลลัพธ์บางส่วนของ progam ของฉัน (ไม่แสดงเพราะมันมีลูกเล่นบางอย่างที่คุณจะต้องคิดออกเอง): http://i.imgur.com/uFmsA.png http://i.imgur.com/FlpHS.png http://i.imgur.com/eAbsZ.png http://i.imgur.com/lEUsq.png http://i.imgur.com/RuveH.png http://i.imgur.com/BoEwB.png http://i.imgur.com/HVFGQ.png http://i.imgur.com/PZpMg.png http://i.imgur.com/DezCY.png คำแนะนำที่เป็นประโยชน์: เมื่อ imgur ใหม่ลิงค์ 5 ตัวอักษรถูกนำมาใช้ เมื่อ imgur ใหม่ไม่ได้ใช้ตัวเลข คุณสามารถใช้สิ่งนี้เพื่อประโยชน์ของคุณ: ค้นหาภาพลิงค์ 5 ตัวอักษรด้วยตัวอักษรเท่านั้น นั่นคือสิ่งที่โปรแกรมของฉันทำ .pngนอกจากนี้ภาพทั้งหมดจะถูกบันทึกเป็น ที่ต้องการ: แสดงผลลิงค์ imgur แบบสุ่มอย่างต่อเนื่อง ลิงก์ถือว่ามีความ "สุ่ม" เพียงพอหากมีเอาต์พุต 50 รายการโดยไม่มีการทำซ้ำ เมื่อเยี่ยมชมลิงค์จะต้องเป็นรูปภาพ …
11 code-golf 

2
มีกี่ mesas เริ่มต้นด้วยสตริงที่กำหนด?
ลองเรียกรายการสตริงที่ไม่ว่างเปล่าของmesaหากเงื่อนไขต่อไปนี้มีไว้: แต่ละสตริงที่แสดงไม่ว่างเปล่าและใช้เฉพาะอักขระที่เกิดขึ้นในสตริงแรก แต่ละสตริงที่ต่อเนื่องกันจะมีความยาวหนึ่งตัวอักษรมากกว่าหนึ่งตัว ไม่มีสตริงในรายการเป็นsubsequenceของสตริงอื่น ๆ ในรายการ คำว่า "mesa" มาจากการมองเห็นเช่นนี้ (โดยที่xs จะเป็นตัวอักษรต่าง ๆ ): xx..x xx..xx xx..xxx . . . xx..xxx..x NB: มันเป็นความจริงทางคณิตศาสตร์ที่มีเพียงจำนวนมากเท่านั้นที่เริ่มต้นด้วยสตริงที่กำหนด หมายเหตุ: ความแตกต่างระหว่างsubsequenceกับ substring ; เช่น 'anna' เป็นส่วนประกอบ (แต่ไม่ใช่ซับสตริง) ของ 'Banana' ท้าทาย: เขียนโปรแกรมที่สั้นที่สุดที่รับสตริงอินพุตตัวอักษรผสมตัวเลขที่ไม่ว่างเปล่าและส่งออกจำนวน mesas ที่ขึ้นต้นด้วยสตริงนั้น อินพุต (stdin): สตริงตัวอักษรผสมตัวเลขที่ไม่ว่าง เอาท์พุท (stdout): จำนวน mesas ที่ขึ้นต้นด้วยสตริงอินพุต เกณฑ์การให้คะแนน: ผู้ชนะคือโปรแกรมที่มีจำนวนไบต์น้อยที่สุด ตัวอย่าง mesas หนึ่งเมซ่าเริ่มต้นด้วยa: a …
11 code-golf 

4
สร้างเกมงูคลาสสิคขึ้นมาใหม่
ความท้าทายคือการสร้างเกมงูคลาสสิกที่ใช้น้อยที่สุดเท่าที่เป็นไปได้ นี่คือข้อกำหนด: เกมจะต้องดำเนินการในรูปแบบสองมิติทั่วไป งูควรเติบโตอย่างมีนัยสำคัญภายในขอบเขตของแผนที่ (นี่หมายถึงจริงๆอย่าทำให้แผนที่ของคุณเล็กเกินไปใช้วิจารณญาณของคุณที่นี่) ผู้ใช้อาจย้ายงูโดยใช้แป้นที่คุณเลือกอย่างไรก็ตามงูไม่สามารถกลับมาเป็นสองเท่าของตัวเองได้ (เช่นถ้าไปทางตะวันตกจะไม่สามารถไปทางตะวันออกโดยไม่ไปทางทิศเหนือหรือทิศใต้เป็นครั้งแรก) งูควรจะสามารถเดินทางได้ทั้ง 4 ทิศทาง: ขึ้น, ลง, ซ้าย, ขวา (เหนือ, ใต้, ตะวันตก, ตะวันออก) งูเริ่มออกเป็นความยาว 1 ทุกครั้งที่กินวัตถุ "อาหาร" มันจะเพิ่มความยาว +1 วัตถุอาหารจะถูกวางแบบสุ่มในสถานที่อื่นที่ไม่ใช่งู ถ้างูกระทบตัวเองหรือปิดกำแพงเกมจะสิ้นสุดลง เมื่อเกมสิ้นสุดลง "คะแนน: [คะแนน]" จะปรากฏขึ้นโดยที่ [คะแนน] คือจำนวนของรายการอาหารที่กินระหว่างเกม ตัวอย่างเช่นถ้างูกิน "อาหาร" 4 อัน (และมีความยาว 5) เมื่อเกมจบ "คะแนน: 4" จะถูกพิมพ์ ไม่มีอัลกอริธึมการบีบอัดจนกว่าจะมีการกำหนดไว้ในรหัสของคุณอย่างชัดเจน นี่คือทางออกของฉัน 908 Bytes, Python 2.7 import random …
11 code-golf  game 

8
สร้างการทดสอบความเร็วในการพิมพ์ / การวัด CPM
กฎระเบียบ ได้เวลาสร้างการทดสอบความเร็วการพิมพ์ในภาษาที่คุณเลือกแล้ว! 1 . คุณให้ไฟล์พจนานุกรมที่มีตัวเลือก (คำว่า 'ทุกคำในนั้นต้องเป็นตัวคั่นบรรทัดใหม่) ไพพ์ในผ่านstdinหรือให้ชื่อเป็นอาร์กิวเมนต์บรรทัดคำสั่ง a สามารถ เกี่ยวกับ ข้างบน ขาด ... 2 . เลือก 10 คำสุ่มจากไฟล์ (ไม่อนุญาตให้ซ้ำกัน) และพิมพ์ออกมาในลักษณะดังต่อไปนี้: -> โดยตรง -> พื้น -> ถัดไป -> ห้า ... 3 . เริ่มการวัดเวลาที่ใช้นับจากนี้ไป! 4 . ให้ผู้ใช้พิมพ์คำทั้งสิบคำให้เร็วที่สุดเท่าที่จะทำได้ (จบลงด้วยการคืนรถ) พิมพ์OKเมื่อคุณมีคู่ที่ตรงกันพิมพ์WRONGเมื่อเรามีข้อผิดพลาดในการพิมพ์ (หรือคำที่ถูกพิมพ์เรียบร้อยแล้วในการวิ่งครั้งนี้) 5 . หยุดเวลา! ตอนนี้พิมพ์CPM (caracters ต่อนาที) (sum of the characters of …
11 code-golf 

19
คืนค่าแต่ละตัวเลขจากกลุ่มของตัวเลข
ความท้าทาย โปรแกรมจะต้องส่งคืนตัวเลขทั้งหมดที่รวมอยู่ในกลุ่ม (ลำดับที่คั่นด้วยเครื่องหมายจุลภาคและเครื่องหมายขีดกลาง) ของตัวเลข กฎระเบียบ s เป็นสตริงลำดับ; ตัวเลขทั้งหมดรวมอยู่ในsเป็นบวก ; ตัวเลขจะเพิ่มขึ้น ; ตัวเลขจะไม่ซ้ำ เมื่อคุณตอบให้แสดงผลลัพธ์สำหรับ s="1,3-5,9,16,18-23" ตัวอย่าง input(s) outputs ----------------- 1 1 1,2 1,2 1-4 1,2,3,4 1-4,6 1,2,3,4,6 1-4,8-11 1,2,3,4,8,9,10,11 โชคดี. =)

19
คำนวณคำที่ n ของลำดับการอธิบายตนเองของ Golomb
แรงบันดาลใจจากคำถามก่อนหน้านี้ ลำดับ g (n) อธิบายตนเองของ Golombเป็นลำดับที่มีจำนวนธรรมชาติใด ๆnซ้ำภายในลำดับ g (n) ครั้ง ตัวเลขสองสามตัวแรกในลำดับคือ: n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 g(n) 1 2 2 3 3 4 4 4 5 5 5 6 6 6 6 7 7 …

8
การสร้างไม้บรรทัด ASCII
ความท้าทายคือการสร้างไม้บรรทัดนับอักขระ ASCII ในรูปแบบต่อไปนี้: +-------------------------------------------------------------------------+ || | | | | | | | | | | | | | | | |0 10 20 30 40 50 60 70 | | | +-------------------------------------------------------------------------+ ความยาวของไม้บรรทัดควรปรับได้ตามความหลากหลายของ 10 กฎ: ไม้บรรทัดต้องเป็นแนวนอน สมมติว่าเพื่อให้สิ่งที่เรียบง่ายว่าการทำงานของผู้ปกครองต้องจนกว่าเครื่องหมาย 1000 ตัวเลขทั้งหมดซ้ายชิดพื้นที่หนึ่งหลังจากตัวเลขสุดท้าย การขอไม้บรรทัดที่มีความยาวเป็นศูนย์ควรพิมพ์ NaR ตัวเลขติดลบควรพิมพ์ไม้บรรทัดที่กลับด้าน (-90, -80, -70, ... ) ด้วยตัวเลขที่จัดชิดขวาในรูปแบบเดียวกับที่อยู่ด้านบน และเพียงพิมพ์ไปที่คอนโซลก็โอเค พร้อมตั้งกอล์ฟ!

3
สร้างเขาวงกต 5x5x5 หลายระดับด้วยโซลูชันเดียวเท่านั้น
เป้าหมายของความท้าทายนี้คือการสร้างรหัสที่สั้นที่สุด (เป็นตัวอักษร) ที่ทำสิ่งต่อไปนี้สำเร็จ: ข้อมูลจำเพาะ : ต้องสร้าง5x5x5 labyrinthด้วยอย่างแน่นอน1 possible solution(ไม่มากไม่น้อยกว่า) ต้องสร้างเขาวงกต randomly มันจะต้องสามารถสร้างโซลูชันที่มีอยู่ได้ทั้งหมดหากปล่อยทิ้งไว้เป็นเวลาหลายปี startและfinishจะต้องอยู่ใน*opposite corners แผนที่outputจะต้องอยู่ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้: รูปแบบผลลัพธ์ตัวเลือก 1 strings, printed or alerted : xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx รูปแบบผลลัพธ์ตัวเลือก 2 arrays : [[xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx]] หมายเหตุการส่งออก: ใช้0สำหรับemptyและ1สำหรับsquares ไม่จำเป็นต้องขึ้นบรรทัดใหม่ คุณเป็นคนตัดสินใจว่าอะไรindexคืออะไร แต่ขอให้แน่ใจว่าได้อธิบายให้ดี * นี่คือตัวอย่างของสิ่งที่ฉันหมายถึงโดยมุมตรงข้าม: ชี้แจง : ไม่สามารถย้ายเข้าdiagonal ไม่สามารถผ่านสองครั้งบนเส้นทางเดียวกัน ต้องinaccessible areasได้รับอนุญาต คุณสามารถgo …

16
ASCII Ball in Box Animation
เขียนโปรแกรมที่แสดงลูกบอล ASCII ที่กำลังเคลื่อนที่*อยู่ในสี่เหลี่ยม (20 ถึง 10 ตัวอักษรรวมถึงเส้นขอบ) ลูกบอลต้องไม่ข้ามสี่เหลี่ยมผืนผ้าเช่นชนเมื่อชนกำแพง ฉากจะต้องถูกล้างและวาดใหม่ทุก 0.1 วินาทีและลูกบอลต้องเคลื่อนที่ 1 อักขระในทิศทาง x และ y ทุกเฟรม โปรแกรมที่สั้นที่สุดที่เขียนในภาษาใดก็ได้ชนะ เอาต์พุตตัวอย่าง (เฟรม 1) +------------------+ |* | | | | | | | | | | | | | | | +------------------+ ตัวอย่างผลลัพธ์ (เฟรม 2) +------------------+ | | | * | | | …

6
นานแค่ไหนจนถึงวันนี้
แนวคิดคือ: เขียนฟังก์ชั่นเพื่อพิมพ์ระยะเวลาจากวันนี้ / วันนี้ (ณ เวลาที่เรียกใช้ฟังก์ชัน) จนกระทั่งวันที่กำหนดเป็นอาร์กิวเมนต์ สมมติฐาน: วันที่ป้อนจะเป็นวันพรุ่งนี้หรือหลังจากนั้นในอนาคต วันที่ป้อนจะไม่เกิน 10 ปีในอนาคต กฎ: ผลลัพธ์จะต้องอยู่ในรูปแบบนี้: "[z ปี (s)], [x เดือน (s)], y วัน (s) จนถึง -Input Date-" กรอบเวลาส่งออก (วัน / เดือน / ปี) จะต้องได้รับการแก้ไขอย่างถูกต้อง เช่น1 monthไม่1 months ข้อมูลที่ป้อนสามารถอยู่ในรูปแบบวันที่ใดก็ได้ที่คุณต้องการ (3/15/12 - 15 มีนาคม 2012 - 2012.03.15) ตัวอย่าง: สมมติว่าโปรแกรมทำงานในวันที่ 15 มีนาคม 2012: วันที่ป้อนของ3/20/12=5 …
11 code-golf  date 

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