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

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

18
ไม่ระบุชื่อชื่อ - ประเภท
แก้ไข: จะมีโบนัส -20 สำหรับการปิดบังแบบสุ่ม สวัสดีผู้แจ้งเบาะแสและผู้ให้บริการความรู้ที่เป็นความลับ ฉันเป็นเพราะการสัมภาษณ์ทางไปรษณีย์และแน่นอนว่าฉันไม่สามารถพูดชื่อเฉพาะได้เต็มความยาว แต่เนื่องจากฉันต้องการเปิดเผยในแบบที่ไม่ชัดเจนดังนั้นฉันต้องการความช่วยเหลือจากคุณ ฉันจะให้ชื่อเหล่านี้ในรูปแบบของ "evil_company_that_makes_me_shiver" แต่แน่นอนฉันไม่ต้องการที่จะสะกดมันออกมาอย่างสมบูรณ์ งานของคุณเพื่อช่วยฉันและโลกทั้งใบคือคุณให้โปรแกรมที่ดีที่จะเปลี่ยนสิ่งที่กล่าวมา "ev**************************" หรือ "**il************************" หรือแม้กระทั่ง "****_c**********************" ฉันคิดว่าคุณได้รับมัน แต่มีข้อบกพร่องอยู่ประการหนึ่ง: ฉันต้องการเปิดเผยชื่อโดยรวมดังนั้นฉันต้องผ่านจำนวนครั้งที่เกิดขึ้นและคำนั้นไปที่สคริปต์และมันจะเปิดเผยตัวอักษรทีละนิด ตัวอย่างอาจเป็น ~$ ./whistle NSA 3 > "N**" > "**A" > "*S*" หรือ ~$ ./whistle nuclear 3 > "nu*****" > "***lea*" > "**c***r" หรือ ~$ ./whistle nuclear 2 > "nuc****" > "***lear" …
16 code-golf 

17
คำนวณทิป
คุณและเพื่อนเดินเข้าไปในบาร์ บาร์เทนเดอร์ปฏิบัติต่อคุณเป็นอย่างดีดังนั้นคุณตัดสินใจที่จะทิปเขา ดังนั้นคุณจึงดึงพ็อคเก็ตคอมพิวเตอร์ที่น่าเชื่อถือออกมาและเขียนโปรแกรมด่วนเพื่อคำนวณเคล็ดลับสำหรับคุณเนื่องจากไม่มีเครื่องคิดเลขในตัว แต่เดี๋ยวก่อน! กุญแจตัวดำเนินการของคุณเสีย! งานของคุณคือการคำนวณทิป 20% สำหรับจำนวนเงินที่กำหนด อินพุตทดสอบจะอยู่ในรูปแบบของ xx.xx เช่น 20.96 นี่คือกฎ: ไม่มีการใช้สิ่งต่อไปนี้ในโอเปอเรเตอร์ฟอร์มทางคณิตศาสตร์: + - * / %(ขอบคุณ Wally West) ไม่มีการใช้ฟังก์ชันเปอร์เซ็นต์หรือ APIs ในตัว ไม่มีการเข้าถึงเครือข่าย ไม่มีการใช้evalหรือคล้ายกัน ไม่มี Windows Calculator (มีคนเคยตอบไว้ก่อนหน้านี้) ไม่มีฟังก์ชั่นเคล็ดลับ (ไม่มีภาษาใดจะมี) ผลลัพธ์ควรถูกปัดเศษทศนิยมสูงสุดสองตำแหน่ง คะแนนขึ้นอยู่กับความยาวเป็นไบต์ -20%ถ้าโปรแกรมของคุณสามารถรับจำนวนทิปได้ ป้อนจำนวนเงินจะได้รับในรูปแบบของ xx เช่น 35 ไม่ใช่ 0.35

3
king + rook เทียบกับ king
มันเป็นจุดจบของเกมหมากรุกที่เล่นได้ดีอีกเกมหนึ่ง คุณเป็นผู้เล่นผิวขาวและคุณยังมีนักเล่นเกมและราชาของคุณ ฝ่ายตรงข้ามของคุณมีเพียงกษัตริย์ของเขาที่เหลือ เมื่อคุณเป็นคนผิวขาวมันเป็นตาของคุณ สร้างโปรแกรมเพื่อเล่นหมากรุกนี้ เอาต์พุตสามารถเป็นลำดับของการเคลื่อนไหวภาพเคลื่อนไหว gif ASCII art หรืออะไรก็ได้ที่คุณชอบ ดูเหมือนจะค่อนข้างชัดเจน แต่ฉันจะระบุอย่างชัดเจนว่าคุณต้องชนะเกม (ในจำนวนที่ จำกัด ของการเคลื่อนไหว) เป็นไปได้เสมอที่จะชนะจากตำแหน่งนี้ อย่าเสียความเป็นไปได้ อย่าหยุดยั้ง โปรแกรมของคุณอาจยอมรับหรือไม่ยอมรับอินพุตที่เป็นมนุษย์สำหรับตำแหน่งเริ่มต้นและสำหรับการเคลื่อนไหวแต่ละครั้งของ Black (คุณสามารถสันนิษฐานได้ว่านี่เป็นตำแหน่งทางกฎหมายเช่นกษัตริย์ไม่ได้สัมผัสกัน) หากไม่มีตำแหน่งเริ่มต้นแบบสุ่มและการเคลื่อนไหวแบบสุ่มสำหรับราชาดำจะพอเพียง คะแนน คะแนนของคุณจะมีความยาวเป็นไบต์ของรหัส + โบนัสของคุณ อนุญาตให้ใช้ภาษาใดก็ได้คะแนนต่ำสุดชนะ โบนัส -50 หากโปรแกรมของคุณอนุญาตทั้งตำแหน่งเริ่มต้นที่กำหนดโดยมนุษย์และตำแหน่งที่สุ่ม มนุษย์สามารถป้อนผ่าน stdin, ไฟล์, GUI ... -100 ถ้าโปรแกรมของคุณอนุญาตทั้งมนุษย์และผู้เล่นสุ่มที่จะย้ายราชาดำ +12345 ถ้าคุณพึ่งพาตัวแก้หมากรุกภายนอกหรือห้องสมุดหมากรุกในตัว โชคดี! Update! กฎพิเศษ: การแข่งขันจะต้องเล่นจนกว่าจะรุกฆาต แบล็กไม่ยอมแพ้ไม่กระโดดนอกกระดานหมากรุกและไม่โดนคนต่างด้าวลักพาตัว เปรย คุณอาจจะได้รับความช่วยเหลือจากคำถามนี้ในchess.se
16 code-golf  chess 

27
แปลงจากฐาน 10 เป็นฐาน 2 โดยไม่มีการแปลงในตัว
พื้นหลัง : คุณได้รับมอบหมายให้แปลงเลขฐาน 10 เป็นฐาน 2 โดยไม่ต้องใช้ฟังก์ชันการแปลงพื้นฐานใด ๆ คุณไม่สามารถใช้ห้องสมุดที่นำเข้ามาได้ ปัญหา : แปลงสตริงอินพุตจากฐาน 10 (ฐานสิบ) เป็นฐาน 2 (ไบนารี) คุณไม่สามารถใช้รหัสการแปลง / ฟังก์ชัน / วิธีการแปลงพื้นฐานหรือไลบรารีที่นำเข้ามา เนื่องจากนี่คือโค้ดกอล์ฟคำตอบที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ อินพุตจะเป็นอะไรก็ได้ตั้งแต่ -32768 ถึง 32767 (รวมถึงการจัดการไบต์สัญญาณในรหัสของคุณ)
16 code-golf  number 

30
โปรแกรมที่สั้นที่สุดในการแยกสตริงที่ไม่ใช่ตัวเลขโดยไม่มี RegExps
แก้ไข: หากคุณใช้เสียงกระเพื่อมฉันได้ให้แนวทางบางอย่างที่ด้านล่างในการนับไบต์ วัตถุประสงค์:สร้างฟังก์ชันที่สั้นที่สุดที่แยกสตริงที่ไม่ใช่ตัวเลขและส่งกลับอาร์เรย์ที่ประกอบด้วยตัวเลขเท่านั้นในแต่ละสตริงโดยไม่ต้องใช้นิพจน์ทั่วไปใด ๆ เลขศูนย์นำหน้าจะรวมอยู่ในแต่ละสาย อันดับปัจจุบัน (แยกเป็นหมวดหมู่): C / C ++ / C # / Java: 68 (C) .... GolfScript / APL / J: 13 (APL) อื่น ๆ ทั้งหมด: 17 (Bash, use tr), 24 (Ruby) กฎ: (ฉันขอโทษสำหรับความยาว) รูปแบบต้องเป็นฟังก์ชันที่มีอาร์กิวเมนต์สตริงเดี่ยว อาจมีการเพิ่มอาร์กิวเมนต์เพิ่มเติมได้สองรายการหากจำเป็นสำหรับการส่งคืนอาเรย์ที่เหมาะสม (เช่น sh / csh / DOS Batch ต้องการการอ้างอิงตัวแปรเพิ่มเติมเพื่อกลับมาเป็นต้น) การประกาศฟังก์ชั่นหลักไม่นับรวมและจะไม่นำเข้าไลบรารีมาตรฐานอื่น ๆ `# …
16 code-golf  string 

7
ช่วงเวลาของการแทนทศนิยม
เขียนฟังก์ชั่นซึ่งจะเป็นจำนวนเต็มบวกเดียวnและผลตอบแทนระยะเวลาของการแสดงทศนิยมของ 1 / n กรณีทดสอบ: 1 -> 1 # 1/1 = 1.0000...... = 1._0 2 -> 1 # 1/2 = 0.5000...... = 0.5_0 3 -> 1 # 1/3 = 0.3333...... = 0._3 7 -> 6 # 1/7 = 0.14285714.. = 0._142857 13 -> 6 14 -> 6 123 -> 5 …

6
เคล็ดลับการเล่นกอล์ฟใน Perl 6
คุณมีเคล็ดลับทั่วไปสำหรับการเล่นกอล์ฟใน Perl 6 อย่างไร ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะกับ Perl 6 (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ โปรดทราบว่า Perl 6 ไม่ใช่ Perl 5 ดังนั้นคำถามนี้ไม่ซ้ำกัน เคล็ดลับส่วนใหญ่สำหรับการเล่น Perl 5 ไม่ใช้กับ Perl 6
16 code-golf  tips 

28
จุดเปลี่ยน
โปรแกรมของคุณจะต้องพิมพ์ช่องว่างจำนวนหนึ่งตามด้วยจุดและขึ้นบรรทัดใหม่ จำนวนช่องว่างคือตำแหน่ง x ของจุดที่คุณกำหนดด้วย 0 <x <30 ทุกบรรทัดใหม่คือเทิร์น โปรแกรมของคุณทำงานเป็นเวลา 30 รอบ โปรแกรมของคุณเริ่มต้นด้วยการสุ่มตำแหน่ง x และการหมุนทุกครั้งจะเลื่อนตำแหน่งนี้แบบสุ่มไปทางซ้ายหรือขวา 1 โดยอยู่ในพื้นที่ที่กำหนด ทุกจุดของคุณจะต้องเปลี่ยนตำแหน่งโดย 1 คะแนนของคุณคือจำนวนตัวอักษร คุณจะได้รับ 10 คะแนนโบนัสหากทุกบรรทัดที่พิมพ์ประกอบด้วยอักขระ 30 ตัว (และขึ้นบรรทัดใหม่) คุณจะได้รับ 50 คะแนนโบนัสหากในขณะที่สุ่มโปรแกรมของคุณมีแนวโน้มที่จะอยู่ตรงกลางของพื้นที่ที่กำหนด แก้ไข: คะแนนโบนัส 50 คะแนนมีจุดประสงค์เพื่อดึงจุดของคุณให้อยู่ตรงกลาง ตัวอย่างเช่นการใช้นี้ถ้าจุดของคุณอยู่ที่ x = 20 และมีโอกาส 66% ที่จะไปทางซ้ายและ 33% เพื่อไปทางขวา สิ่งนี้จะต้องเป็นอิสระจากจุดเริ่มต้นและควรเกิดขึ้นโดยการเปลี่ยนค่าร้อยละของซ้าย / ขวาแบบไดนามิก ไม่อนุญาตให้อินพุตใด ๆ เอาต์พุตจะต้องอยู่ในคอนโซลการทำงาน! เพื่อความเข้าใจที่ดีขึ้นต่อไปนี้เป็นตัวอย่างที่อ่านได้ใน java ซึ่งจะให้คะแนน …
16 code-golf 

24
คำนวณ 6 * 9 ในฐานที่ต่างกัน
เอาท์พุทผลลัพธ์ต่อไปนี้ (ซึ่งเป็นผลมาจากการคำนวณ 6 * 9 ในฐานตั้งแต่ 2 ถึง 36) ตรวจสอบให้แน่ใจว่าตัวอักษรเป็นตัวพิมพ์ใหญ่และตัวคูณจะถูกส่งออกในทุกบรรทัด 6 * 9 = 110110 6 * 9 = 2000 6 * 9 = 312 6 * 9 = 204 6 * 9 = 130 6 * 9 = 105 6 * 9 = 66 6 * 9 = 60 …

9
เส้นทางที่สั้นที่สุดของ Portal Maze
เป้าหมายของคุณคือการเขียนโปรแกรมที่สร้างแบบสุ่ม 10x10 แผนที่ใช้0, 1และ2และพบว่าเส้นทางที่สั้นที่สุดจากด้านบนซ้ายไปขวาล่างสมมติว่า: 0หมายถึงทุ่งหญ้า: ใคร ๆ ก็สามารถเดินไปได้ 1หมายถึงกำแพง: คุณไม่สามารถข้ามได้ 2หมายถึงพอร์ทัล: เมื่อเข้าสู่พอร์ทัลคุณสามารถย้ายไปที่พอร์ทัลอื่นในแผนที่ รายละเอียด: องค์ประกอบด้านซ้ายบนและด้านล่างขวาหนึ่งจะต้อง0 ; เมื่อสร้างแผนที่แบบสุ่มทุกฟิลด์ควรมีโอกาส 60% ที่จะเป็น0 , 30% ของการเป็น1และ 10% ของการเป็น2 ; คุณสามารถย้ายในเขตข้อมูลที่อยู่ติดกัน (แม้แต่เส้นทแยงมุม); โปรแกรมของคุณควรแสดงแผนที่และจำนวนขั้นตอนของเส้นทางที่สั้นที่สุด หากไม่มีเส้นทางที่ถูกต้องซึ่งนำไปสู่ฟิลด์ล่างขวาโปรแกรมของคุณควรแสดงแผนที่เท่านั้น คุณสามารถใช้ทรัพยากรใด ๆ ที่คุณต้องการ; รหัสที่สั้นที่สุดชนะ การคำนวณขั้นตอน: ขั้นตอนเป็นการเคลื่อนไหวจริง ทุกครั้งที่คุณเปลี่ยนฟิลด์คุณจะเพิ่มตัวนับ เอาท์พุท: 0000100200 0100100010 1000000111 0002001000 1111100020 0001111111 0001001000 0020001111 1100110000 0000020100 9

3
เครื่องคิดเลขตัวเลขภาษาอังกฤษ
ท้าทาย เขียนเครื่องคิดเลขที่รับข้อมูลในรูปวาจา (อาจพูดเป็นสมการได้) และเอาท์พุทเป็นรูปวาจา กฎระเบียบ เครื่องคิดเลขควรจะ: เพิ่ม, ลบ, คูณและหาร จัดการตัวถูกดำเนินการระหว่างค่าลบหนึ่งล้านถึงหนึ่งล้าน จัดการผลผลิตระหว่างลบหนึ่งพันล้านกับหนึ่งพันล้าน จัดการกับจุดทศนิยมในอินพุตและวางอย่างถูกต้องในเอาต์พุต จัดการเอาต์พุตทศนิยมไปยังตำแหน่งที่ร้อยปัดเศษตามต้องการ การดำเนินการทั้งหมดที่ให้ผลลัพธ์เป็นเศษส่วนควรปัดเศษไปยังตำแหน่งที่ใกล้ที่สุดนับร้อย (เหมือนกันกับการจัดรูปแบบผลลัพธ์) รายงานที่มีเอาต์พุต "E" (สำหรับข้อผิดพลาด) เมื่ออินพุตจะทำให้โปรแกรมล้มเหลวเนื่องจากมีการจัดรูปแบบหรือหารด้วย 0 ไม่ถูกต้อง โดยทั่วไปโปรแกรมไม่ควรผิดพลาดในการป้อนข้อมูลที่ไม่ดีเพราะนั่นจะเป็นเครื่องคิดเลขหมัด อนุญาตให้ใช้เครื่องคิดเลขได้แต่ไม่จำเป็นต้องรายงานข้อผิดพลาดเมื่อตัวถูกดำเนินการหรือเอาต์พุตหลุดออกจากขอบเขต นี่หมายถึงการทำให้ปัญหาง่ายขึ้น แต่ถ้าคุณไม่เห็นด้วยกับฉันอย่าลังเลที่จะทำให้เครื่องคิดเลขสามารถจัดการตัวถูกดำเนินการและเอาท์พุทได้อย่างถูกต้องมากขึ้นโดยไม่ต้องรายงานข้อผิดพลาด เอาต์พุต "E" ในกรณีที่ตัวถูกดำเนินการสำหรับการดำเนินการเกินขอบเขตที่กำหนดไว้สำหรับตัวถูกดำเนินการ เอาต์พุต "E" ในกรณีที่เอาต์พุตเกินขอบเขตที่อธิบายไว้สำหรับเอาต์พุต วิธีที่โปรแกรมจัดการกับตัวพิมพ์เล็กและช่องว่างถูกปล่อยทิ้งไว้ให้นักกอล์ฟเช่นเดียวกับตัวเลือกของอังกฤษหรืออเมริกันอังกฤษ 1 โปรแกรมที่ข้ามการใช้งานเครื่องคิดเลขโดยใช้ภาษาหรือไลบรารีที่ใช้งานไปแล้วหน้าที่ที่อธิบายไว้ข้างต้นจะไม่มีสิทธิ์ได้รับชัยชนะ ผู้ชนะ โปรแกรมที่มีจำนวนอักขระต่ำสุดชนะ ตัวอย่าง อินพุต:สองบวกสอง เอาท์พุท:สี่ อินพุต:ยี่สิบเอ็ดจุดห้าลบหนึ่งจุดห้า เอาท์พุท:ยี่สิบ อินพุต:หนึ่งลบสอง เอาต์พุต:ลบหนึ่ง อินพุต:ห้าครั้งห้า เอาต์พุต:ยี่สิบห้า อินพุต:ยี่สิบห้าหารด้วยห้า เอาต์พุต:ห้า อินพุต:สองบวกสองลบห้าคูณห้าหารด้วยศูนย์ลบจุดห้า เอาท์พุท:สิบ อินพุตหนึ่งล้านคูณหนึ่งพัน …
16 code-golf 

16
เขียนโปรแกรมที่ดำเนินการผสมตัวอักษรกำลังดุร้ายจนกว่าจะพบคำว่า "รหัสผ่าน"
โปรแกรมควรพิมพ์ตัวอักษรทุกตัวรวมกัน (ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่มันไม่สำคัญ) ตามลำดับตัวอักษร มันต้องเริ่มต้นด้วยและการรวมกันพิมพ์สุดท้ายที่ควรจะเป็นapassword ผลลัพธ์ควรเป็น: a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ... passwora passworb passworc password

10
จำลองการต่อสู้ระหว่างสองสิ่งมีชีวิต
ยินดีต้อนรับนักกอล์ฟผู้กล้ารหัส! วันนี้คุณจะยืนอยู่ท่ามกลางการต่อสู้อันยิ่งใหญ่ระหว่างกลินและเอลฟ์! goblin attacks elf! elf dodges! elf attacks goblin! elf hits goblin for 13 damage! goblin has 37 health left. goblin attacks elf! goblin hits elf for 1 damage! elf has 49 health left. elf attacks goblin! elf hits goblin for 19 damage! goblin has 18 health left. goblin …

27
สร้างคำที่ออกเสียงได้
ความท้าทายนั้นง่าย: สร้างคำ ข้อมูลจำเพาะ: คำต้องออกเสียงได้ สิ่งนี้ถูกนิยามว่าเป็น "การสลับระหว่างพยัญชนะและสระ" พยัญชนะเป็นหนึ่งในตัวอักษรต่อไปนี้: bcdfghjklmnpqrstvwxz เสียงสระเป็นหนึ่งในตัวอักษรต่อไปนี้: aeiouy Word ต้องถูกสร้างแบบสุ่ม คำต่างๆต้องมีพยัญชนะและสระทุกตัว (คุณไม่สามารถใช้bcdfสำหรับพยัญชนะและaeiสระเท่านั้น) Word ต้องมี 10 ตัวอักษร รหัสที่สั้นที่สุด (ในจำนวนตัวอักษร) ชนะ

6
Code Golf: ผสมถั่วเพื่อที่จะไม่ได้สัมผัสชนิดเดียวกัน
การป้อนข้อมูล: อินพุตคืออาร์เรย์ของถั่วแบบสุ่ม (ในภาษาของคุณ) ถั่วที่เป็นไปได้มีดังนี้ โปรแกรมของคุณต้องมีวิธีในการเป็นตัวแทนของถั่วแต่ละชนิดเช่นรหัสจำนวนเต็ม โปรแกรมจะต้องสามารถจัดการขนาดอาร์เรย์ของการกำหนดค่าของถั่วใด ๆ ถั่วที่เป็นไปได้: Kola nut Macadamia Mamoncillo Maya nut Mongongo Oak acorns Ogbono nut Paradise nut Pili nut Pistachio Walnut เอาท์พุท: เอาต์พุตจะต้องเป็นอาเรย์ที่เรียงลำดับตามแบบที่ไม่มีถั่วชนิดเดียวกัน หากเป็นไปไม่ได้ผลลัพธ์ควรเป็นอาเรย์ที่ว่างเปล่า ตัวอย่างอินพุท (ประยุกต์): ["walnut", "walnut", "pistachio"] ตัวอย่างผลลัพธ์: ["walnut", "pistachio", "walnut"] การแก้ปัญหาอาจไม่เพียงแค่สับเปลี่ยนอาเรย์จนกว่าจะมีความเป็นเอกลักษณ์โดยบังเอิญ ประเภทการจ้างงานจะต้องกำหนดขึ้น

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