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

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

1
การเขียนโปรแกรมในสองมิติเวลา
มันเป็นอุบัติเหตุที่ตลกที่โลกนี้มีเพียงมิติเดียว แต่มันไม่จำเป็นต้องเป็นแบบนั้น เป็นเรื่องง่ายที่จะจินตนาการถึงโลกที่มีเวลา 2 มิติหรือมากกว่านั้นและในโลกเหล่านั้นคุณสามารถสร้างคอมพิวเตอร์และใช้งานซอฟต์แวร์กับพวกมันได้เช่นเดียวกับในโลกนี้ ระบบ นี่คือระบบสำหรับการรันโปรแกรม Brainf * ck ในสองมิติของเวลา: มิติเวลาสองค่าคือ x และ y โปรแกรม Brainf * ck แต่ละรายการประกอบด้วย x half-program และ ay half-program เช่นโปรแกรมอาจเป็นได้ x: +>+ y: [-] สองโปรแกรมครึ่งแต่ละโปรแกรมมีตัวชี้โปรแกรมของตัวเอง แต่พวกเขาแชร์ตัวชี้เทปเดี่ยว (นั่นคือพวกเขาทั้งคู่ทำงานในเซลล์เดียวกันของเทป) เวลาเป็น 2 มิติดังนั้นจึงประกอบด้วยตารางช่วงเวลา: เมื่อเลื่อนไปตามมิติ x โปรแกรมครึ่ง x จะดำเนินการในขั้นตอนเดียว เมื่อเลื่อนไปตามมิติ y โปรแกรมครึ่ง y จะดำเนินการในขั้นตอนเดียว ดังนั้นสำหรับตัวอย่างเช่นสมมติว่าเทปเริ่มออกเป็น[0] 0 0( []หมายถึงตัวชี้เทป) …

20
กำจัดช่องว่างบนบรรทัดอื่นที่ว่างเปล่า
อ่าอีกหนึ่งความเห็นแก่ตัวของฉันที่ใช้กับกองนี้ ในฐานะเจ้าของ Chromebook ฉันเป็นผู้ใช้ Ace IDE ตัวแก้ไขที่ใช้โดย Cloud9 บ่อยครั้ง มันมีเครื่องมือมากมายสำหรับจัดการกับช่องว่างส่วนเกิน แต่มันขาดหนึ่ง: การล้างบรรทัดว่าง ภารกิจของคุณในวันนี้คือรับข้อมูลจากสถานที่ที่ฉันสามารถคัดลอก - วางไปที่ [ ;)] ออกบางสิ่งที่เหมือนกันบันทึกช่องว่างทั้งหมดและตัวสร้างตารางในบรรทัดว่าง ฉันจะให้ตัวอย่างด้วย#s แทนอักขระช่องว่างที่จะถูกลบออก อินพุต 1: if (this.Color !== 'blue') { ## this.Color = 'blue'; } เอาท์พุท: if (this.Color !== 'blue') { [empty line] this.Color = 'blue'; } อินพุต 2: function outputSomething(times) { for …

9
ย่นเส้นทางที่แน่นอน
บางครั้งพา ธ สัมบูรณ์ที่มีความยาวเช่นในพารามิเตอร์บรรทัดคำสั่งไปยังเครื่องมือ linux สามารถทำให้สั้นลงโดยใช้ไดเรกทอรีการทำงานปัจจุบันเป็นข้อมูลอ้างอิง: $ pwd /home/heh $ cat /home/heh/mydir/myfile my stuff $ cat mydir/myfile my stuff ในการท้าทายนี้คุณควรสร้างฟังก์ชันหรือโปรแกรมที่รับพารามิเตอร์สองตัว: พา ธ สัมบูรณ์โดยใช้รูปแบบ linux (เริ่มต้นด้วย/) ไดเรกทอรีปัจจุบันโดยใช้รูปแบบเดียวกัน เอาต์พุตจะสั้นกว่าดังต่อไปนี้: อินพุต 1 ไม่เปลี่ยนแปลง พา ธ สัมพัทธ์ที่อ้างถึงไฟล์ / ไดเร็กทอรีเดียวกันกับพา ธ สัมบูรณ์ คะแนนดี: หากระบบปฏิบัติการของคุณเข้ากันได้กับ linux คุณสามารถใช้ไดเรกทอรีปัจจุบันของระบบแทนการรับมันเป็นอินพุต คุณสามารถสมมติว่าอินพุตมีอักขระตัวอักษรและตัวเลขเท่านั้น (และตัวคั่นพา ธ ) คุณสามารถสันนิษฐานได้ว่าเส้นทางสัมบูรณ์การป้อนข้อมูลไม่มีตัวคั่นเส้นทาง/ในตอนท้าย คุณสามารถสมมติว่าไดเรกทอรีปัจจุบันของการป้อนข้อมูลมีตัวคั่นเส้นทาง/ในตอนท้าย คุณไม่สามารถสันนิษฐานได้ว่าพา ธ สัมบูรณ์อ้างถึงไฟล์ที่มีอยู่หรือส่วนใด ๆ …

1
ชีวิต: สร้างหรือพัฒนา
เมื่อพิจารณาถึงสถานะของตารางเกมแห่งชีวิตตารางตรวจสอบว่ามันอาจมีการพัฒนาจากสถานะก่อนหน้าใด ๆ หรืออาจถูกสร้างขึ้นเท่านั้น นั่นคือระบุว่ารัฐเป็นรัฐ"Garden of Eden"หรือไม่ อินพุต กริดของรัฐที่มี 1 ระบุว่า "มีชีวิตอยู่" และ 0 หมายถึง "ตาย" คุณสามารถเลือกสองสัญลักษณ์ที่แตกต่างแทน 0 และ 1 หากคุณต้องการ ความยาวด้านของกริดจะไม่เป็นศูนย์ แต่อาจเป็นจำนวนธรรมชาติใด ๆ 1 <= N <= 20 เซลล์ใด ๆ หรือทั้งหมดที่อยู่นอกกริดอินพุตอาจมีชีวิตในรุ่นนี้และเซลล์ใด ๆ หรือทั้งหมดอาจมีชีวิตอยู่ในรุ่นก่อนหน้า เอกภพที่จะพิจารณานั้นไม่มีที่สิ้นสุดดังนั้นจึงไม่มีเงื่อนไขขอบเขต ขอบของอินพุตไม่ใช่ขอบของจักรวาล โดยเฉพาะอย่างยิ่งกริดไม่ได้ห่อ อินพุตอาจอยู่ในรูปแบบของสตริงที่คั่นด้วยแถวหรือสตริงเดี่ยว หากคุณต้องการคุณอาจใช้ความยาวด้านหรือพื้นที่ของกริดเป็นอินพุตเพิ่มเติม (ก่อนหรือหลังกริด) รูปแบบอินพุตที่ยอมรับได้: 010,101,010 010101010 010 101 010 3 010101010 เอาท์พุต "สร้าง" หากไม่มีสถานะก่อนหน้านี้ที่เป็นไปได้ …

6
ทำให้ฉันเป็นพิซซ่า
เพราะเป็นวันเสาร์ (UTC) และฉันหิวฉันจึงอยากพิซซ่า ฉันจะให้คำสั่งซื้อและฉันต้องการพิซซ่าascii-art ที่น่าสนใจ ขึ้นอยู่กับความท้าทาย? The Drive-Thru ฉันจะสั่งซื้อของฉันทุกที่ที่ไดรฟ์ของคุณถึงไม่ว่าจะเป็น STDIN, พารามิเตอร์ฟังก์ชั่น, อาร์กิวเมนต์บรรทัดคำสั่ง แต่ฉันจะไม่ใส่ลงในตัวแปรสำหรับคุณ (นิพจน์ฟังก์ชัน JS ต้องกำหนดให้กับตัวแปร) การสั่งซื้อสินค้า คำสั่งของฉันจะมี 2 ส่วน เป็นครั้งแรกที่จะมีการบวกจำนวนเต็มไม่ใช่ศูนย์จากไป3 6นี่คือขนาดของพิซซ่าของฉัน ตัวอย่างเช่น6พิซซ่าขนาดที่ไม่มีรสชาติจะมีลักษณะดังนี้: /=====\ / \ | | | | \ / \=====/ ขนาด5: /====\ / \ | | \ / \====/ ขนาด4: /===\ | | | | \===/ ขนาด …

3
ความเพลิดเพลินสูงสุด
คุณได้รับกระเป๋า Skittles ทุกคนรู้ว่าในการที่จะชื่นชมรสชาติที่แตกต่างกันมากที่สุดคุณต้องหมุนไปมาระหว่างรสชาติต่างๆ ข้อมูลเบื้องต้น: คุณสามารถกินครั้งละ 1 skittle เท่านั้น คำสั่งที่คุณกิน skittles ของคุณจะต้องเป็นระยะ แต่ละช่วงเวลาไม่สามารถมีรสชาติที่เจาะจงมากกว่าหนึ่งครั้ง กระเป๋าของคุณมี skittles มากมาย คุณไม่สามารถกินของที่มีรสชาติเปราะบางได้มากกว่าที่ปรากฏในกระเป๋าของคุณ คุณต้องการกิน skittles มากเท่าที่คุณสามารถ (อาจไม่เป็นไปได้เสมอ) ตัวอย่าง: ให้บอกว่าคุณเริ่มต้นด้วย 3 Red, 2 Blue และ 3 Green skittles: R B G R B G R G Invalid: The last R must be followed by a B, not a …
17 code-golf 

15
ค้นหาตารางการแปล
ให้สองสตริงค้นหาตารางการแปล ( รหัสแทน ) ระหว่างสองหากไม่สามารถแปลได้ให้ส่งออกเป็นเท็จ คำตอบจะต้องย่อเล็กสุดและสร้างจากซ้ายไปขวา อักขระตัวแรกที่จะแปลระหว่างคำต้องเป็นตัวแรกในตารางการแปล นอกจากนี้จดหมายใด ๆ ที่ไม่ได้แปล (ในสถานที่เดียวกันกับที่เดิม) ไม่ควรอยู่ในตารางการแปล อาจกำหนดได้ง่ายที่สุดผ่านตัวอย่าง: กรณีที่ถูกต้อง "bat", "sap" => ["bt","sp"] สังเกตการสั่งซื้อผลลัพธ์ของ["tb","ps"]ไม่ถูกต้องสำหรับความท้าทายนี้ "sense", "12n12" => ["se","12"] สังเกตว่าการnแปลนั้นไม่ได้ถูกแปลอย่างไรเพราะมันมีความสัมพันธ์แบบ 1 ต่อ 1 "rabid", "snail" => ["rabd","snal"] สังเกตว่าการiแปลนั้นไม่ได้ถูกแปลอย่างไรเพราะมันมีความสัมพันธ์แบบ 1 ต่อ 1 "ass", "all" => ["s","l"] ไม่รวม A แต่ยังคงเหมือนเดิมsสามารถแมปได้lเนื่องจากการจับคู่รูปแบบ "3121212", "ABLBLBL" => ["312","ABL"] จับคู่รูปแบบได้อย่างสมบูรณ์แบบ กรณีที่เป็นเท็จ "banana", "angular" …

8
กี่หลุม
ท้าทาย กำหนดอินพุตกราฟิกของรูปร่างพิจารณาจำนวนหลุมที่มีอยู่ในนั้น ไม่ซ้ำ คำถามนี้ถูกทำเครื่องหมายว่าซ้ำกันเป็นไปได้ของหมู่เกาะจำนวน ฉันเชื่อว่าความท้าทายนี้แตกต่างจากการท้าทาย Count Island เพราะในเกมนี้คุณต้องหาวิธีกำจัดบล็อกที่สัมผัสกับเส้นขอบ อินพุต อินพุตจะได้รับเป็นรูปแบบการป้อนข้อมูลแบบ 2D บางรูปแบบทั้งสตริงหลายชั้นอาร์เรย์ของสตริงหรืออาร์เรย์ของอักขระอาร์เรย์ นี่แสดงให้เห็นถึงรูปร่าง รูปร่างรับประกันว่าจะมีเพียงชิ้นเดียวเชื่อมต่อด้วยขอบ โปรดระบุวิธีการป้อนข้อมูลของคุณ เอาท์พุต เอาท์พุทเป็นจำนวนเต็มเดียวที่ระบุจำนวนหลุมที่มีในรูปร่าง ขึ้นบรรทัดใหม่ที่ได้รับอนุญาต แต่ไม่มีช่องว่างนำหน้าหรือต่อท้ายอื่น ๆ ในคำอื่น ๆ ^\d+\n?$ที่ส่งออกจะต้องตรงกับการแสดงออกปกติ รูคืออะไร? เหล่านี้เป็นหลุมเดียว: #### # # # # #### #### # # # ## ### ##### # # # # # ##### นี่ไม่ใช่หลุม: ######## ######## # #### # …

13
เลขจำนวนเต็มของ Arithmetic-Tables
ท้าทาย: เอาท์พุท 'จำนวนเต็มตัวเลข' ของหนึ่งในหกคณิตศาสตร์ต่อไปนี้ตารางตามการป้อนข้อมูล: - นอกจากนี้ ( +); - การลบ ( -); - การคูณ ( *); - แผนก ( /); - การยกกำลัง ( ^); - การทำงานแบบโมดูโล ( %) กฎ: ฉันจะทำอะไรกำหนดเป็น 'จำนวนเต็มหลัก': ทุกผลมาจากการดำเนินการทางคณิตศาสตร์ซึ่งเป็นสิ่งหนึ่งต่อไปนี้: 0, 1, 2, 3, 4, 5, 6, 7, ,8 9ซึ่งหมายความว่าคุณจะแยกผลลัพธ์ทั้งหมด10หรือสูงกว่าทุกผลลัพธ์ของ-1หรือต่ำกว่าและผลลัพธ์ที่ไม่ใช่จำนวนเต็มทุกรายการ เราจะคำนวณผลลัพธ์ทางคณิตศาสตร์ได้อย่างไร: โดยใช้เลขตัวแรกสุดแล้วใช้ตัวถูกดำเนินการด้วยตัวเลขทางซ้าย คุณได้รับอนุญาตให้ทำเช่นนี้ในทางกลับกัน (เช่นy/xแทนที่จะเป็นx/y) ตราบใดที่คุณสอดคล้องกับเอาท์พุททั้งหก! (ดังนั้นคุณจะไม่ได้รับอนุญาตให้ใช้y-xและx/yในคำตอบเดียวกัน) † เราจะไม่เอาท์พุทอะไรเลยสำหรับหารด้วย …

10
เข้าสู่ระบบการเปลี่ยนแปลงวงและจอแสดงผลที่มีการขยายน้อยที่สุด
การป้อนข้อมูล: จำนวนเต็มสองค่า: ค่าลบหนึ่งค่า, ค่าบวกหนึ่งค่า เอาท์พุท: ในบรรทัดแรกเอาท์พุทต่ำสุดไปหาสูงสุด ในบรรทัดที่สองเราได้ลบตัวเลขที่สูงที่สุดและต่ำสุดและเปลี่ยนแปลงเครื่องหมายทุกหมายเลข ในบรรทัดที่สามเราได้ลบหมายเลขสูงสุดและต่ำสุดอีกครั้งและลงชื่อเปลี่ยนหมายเลขส่วนตัวทั้งหมดอีกครั้ง เป็นต้น (ตัวอย่างด้านล่างควรทำให้การท้าทายชัดเจนขึ้น) สำคัญ:นอกจากนี้เรายังเพิ่มช่องว่างเพื่อให้ตัวเลขในคอลัมน์ทั้งหมดจัดเรียง (ทางด้านขวา) การจัดตำแหน่งที่น้อยที่สุดเป็นส่วนสำคัญของความท้าทายนี้ซึ่งหมายความว่าคุณไม่สามารถสร้างความกว้างเท่ากันทุกหมายเลข ความกว้างของคอลัมน์ขึ้นอยู่กับจำนวนความกว้างที่ใหญ่ที่สุดของคอลัมน์นั้น ๆ (และลำดับที่มีการเปลี่ยนเครื่องหมายคือการให้ตัวเลขที่หลากหลายในความกว้างต่อคอลัมน์) ตัวอย่างเช่น: Input: -3,6 Output: -3,-2,-1, 0, 1, 2, 3, 4,5,6 // sequence from lowest to highest 2, 1, 0,-1,-2,-3,-4,-5 // -3 and 6 removed; then all signs changed -1, 0, 1, 2, 3, 4 …

11
ค้นหาซ้ำนายกซ้ำ
นายกรัฐมนตรีซ้ำเป็นลำดับของช่วงเวลาเช่นนั้น p(1) = 2 p(n) = the p(n-1)th prime นี่คือตัวอย่างของวิธีที่หนึ่งอาจคำนวณ Prime Prime แบบเรียกซ้ำครั้งที่ 4 p(4) = the p(3)th prime p(3) = the p(2)th prime p(2) = the p(1)th prime p(1) = 2 p(2) = the 2nd prime p(2) = 3 p(3) = the 3rd prime p(3) = 5 p(4) = …

5
กำหนดประเภทของทรงลูกบาศก์
บทนำ: ฉันเป็นนักสะสมจิ๊กซอร์ ที่นี่คุณสามารถดูคอลเล็กชั่นปัจจุบันของฉันของปริศนา± 300 ฉันคิดว่าทุกคนรู้ Cube ของ Rubik ปกติ (3x3x3 Cube) ซึ่งเป็นCube NxNxN นอกจากนี้ยังมี Cuboids (ปริศนารูปบล็อค) ซึ่งมาในรูปแบบที่แตกต่างกันอาจอธิบายได้ดีกว่าโดย SuperAntionioVivaldi ที่นี่ : ปกติ Cuboids Domino (เช่น2x2x3 ; 2x3x3 ; 3x3x4 ; ฯลฯ ) - พวกเขามาในรูปแบบของNxNx (N + O)หรือNx (N + O) x (N + O)ซึ่งมีทั้งสองมิติแปลกและ คู่หรือสองคู่และคี่ Shapeshifter Cuboids (เช่น2x2x4 ; 3x3x5; 3x3x9 …

8
เห็นภาพอัลกอริทึมแบบยุคลิด
อัลกอริทึมแบบยุคลิดเป็นอัลกอริทึมที่รู้จักกันอย่างกว้างขวางสำหรับการคำนวณตัวหารสามัญที่ยิ่งใหญ่ที่สุด (GCD) ของจำนวนเต็มบวกสองตัว อัลกอริทึม สำหรับจุดประสงค์ของการท้าทายนี้มีการอธิบายอัลกอริทึมดังต่อไปนี้: แสดงอินพุตสองตัวเป็นบรรทัดที่อยู่ติดกันของอักขระบางตัว เช่นอินพุตของ3,4สามารถแสดงด้วยบรรทัดที่อยู่ติดกัน000และ0000 เปลี่ยนlength(short_line)อักขระตัวแรกในบรรทัดที่ยาวขึ้นไปเป็นอีกตัวหนึ่งแล้วพูดว่า- มันดูเหมือน000และ---0 กำจัดlength(short_line)อักขระตัวแรกในบรรทัดที่ยาวขึ้น ตอนนี้000,0 ทำซ้ำขั้นตอนที่ 2 และ 3 จนกระทั่งทั้งสองมีความยาวเท่ากันโดยใช้สายสั้นและยาวหลังจากที่แต่ละซ้ำเช่น 000, 0 -00, 0 00, 0 -0, 0 0,0 คุณสามารถเลือกว่าจะหยุดที่นี่หรือทำซ้ำต่อและเปลี่ยนหนึ่งบรรทัดเป็นบรรทัดว่าง แต่ละขั้นตอนเหล่านี้ควรคั่นด้วยช่วงเวลาระหว่าง 0.3s ถึง 1.5s ความท้าทาย เขียนโปรแกรมที่ให้ตัวเลขธรรมชาติสองตัวเป็นอินพุตสร้างเอาต์พุตที่มีลักษณะเหมือนกับเอาต์พุตของอัลกอริทึมด้านบน คุณสามารถใช้อักขระ ASCII ที่ไม่ใช่แบบไวท์สเปซอื่นที่พิมพ์ได้0และและ-ให้สอดคล้องกันและใช้อักขระเพียงสองตัว นอกจากนี้คุณยังสามารถใช้อัลกอริธึมทางเลือกที่ให้ผลลัพธ์รวมถึงเวลาได้เช่นเดียวกับที่อัลกอริทึมข้างต้นสร้างขึ้น ตัวอย่าง นี่คือตัวอย่างของอินพุต24,35ซึ่งเป็น coprimes ดังนั้น GCD ของพวกเขาคือ 1 นี่คือตัวอย่างของอินพุต16,42ซึ่งมี GCD 2 กฎระเบียบ นี่คือรหัสกอล์ฟดังนั้นไบต์ที่สั้นที่สุดจึงชนะ ช่องโหว่มาตรฐานใช้ คุณสามารถสมมติว่าอินพุตเป็นจำนวนเต็มฐานสิบบวก …

5
ประโยคที่บิด
กฎระเบียบ โปรแกรมควรรับสตริง / อาร์เรย์ของคำเป็นอินพุต สำหรับแต่ละคำในสตริง / อาเรย์มันจะสร้างคำใหม่โดยการใช้ตัวอักษรในการสลับแฟชั่นจากด้านหน้าและด้านหลังของคำ 12345 678 9 -> 15243 687 9 จากนั้นจะจัดเรียงคำใหม่ในลักษณะสลับระหว่างคำแรกสุดและคำที่เกิดขึ้นล่าสุดในสตริง 15243 687 9 -> 15243 9 687 ในที่สุดมันจะสร้างสตริงขึ้นใหม่โดยการวางช่องว่างแท็บและการขึ้นบรรทัดใหม่ที่ดัชนีซึ่งเป็นตำแหน่งเริ่มต้นก่อนที่จะแสดงผลลัพธ์ 12345 678 9-> 15243 687 9 -> 15243 9 687 -> 15243 968 7 เอาต์พุตควรเป็นประเภทข้อมูลเดียวกับอินพุต ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม ตัวอย่าง อินพุต: สุนัขจิ้งจอกสีน้ำตาลอย่างรวดเร็วกระโดดข้ามสุนัขขี้เกียจ ผลลัพธ์: Teh d.ogq kucil yaz bnrwo tehf xoo …

23
สร้างตัวเลขธรรมชาติด้วยชุด
การก่อสร้างนี้เป็นวิธีการแสดงตัวเลขธรรมชาติ ในการแทนค่านี้ 0 หมายถึงชุดว่างและสำหรับตัวเลขอื่น ๆ ทั้งหมด n คือค่ารวมของ {0} และ {n-1} เช่นสร้าง 3 เราสามารถทำตามอัลกอริทึม: 3 = {ø, 2} = {ø, {ø, 1}} = {ø, {ø, {ø}}} งาน ในขณะที่คุณอาจเดาได้ว่างานของคุณคือการใช้จำนวนธรรมชาติ (รวมถึงศูนย์) และเอาท์พุทก่อสร้าง คุณอาจส่งออกเป็นสตริงหรือเป็นวัตถุชุดหากภาษาที่คุณเลือกรองรับวัตถุดังกล่าว หากคุณเลือกที่จะแสดงผลเป็นสตริงคุณควรแสดงชุดด้วยเครื่องหมายปีกกา ( {}) คุณอาจเลือกที่จะแสดงชุดเปล่าเป็นø(มิฉะนั้นมันควรจะเป็นชุดที่ไม่มีรายการ{}) คุณอาจเลือกที่จะเพิ่มจุลภาคและช่องว่างระหว่างและหลังรายการในชุด คำสั่งไม่สำคัญ แต่คุณอาจไม่มีองค์ประกอบซ้ำในชุดที่คุณส่งออก (เช่น{ø,ø}) นี่คือโค้ดกอล์ฟดังนั้นเป้าหมายคือมีไบต์น้อยที่สุด กรณีทดสอบ ต่อไปนี้เป็นกรณีทดสอบบางตัวอย่างที่มีเอาต์พุตตัวอย่าง 0 -> {} 1 -> {{}} 2 -> …

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