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

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

8
เอาต์พุตต้นทางทีละบิต
เขียนโปรแกรมหรือฟังก์ชั่นที่ไม่ว่างเปล่าที่เมื่อเรียกว่าเอาท์พุทค่าเดียว, 1 หรือ 0, และเมื่อเรียกหลาย ๆ ครั้ง, หมายเลขเอาท์พุตจะสร้างการแสดงเลขฐานสองของซอร์สโค้ดของโปรแกรมของคุณ (ในหน้ารหัสเดียวกัน / ตีความ) ตัวอย่างเช่นหากซอร์สโค้ดของคุณคือabc(ใน ASCII) ผลลัพธ์จะเป็น: 1st call: 0 // ASCII letter 'a' 2nd call: 1 3rd call: 1 4th call: 0 5th call: 0 6th call: 0 7th call: 0 8th call: 1 9th call: 0 // ASCII letter 'b' 10th …

9
ตอบอัตราส่วนโหวต
คำถามนี้ได้รับแรงบันดาลใจจากความจริงที่ว่าฉันรักที่จะเห็นคำถามที่มีคะแนนเท่ากันและคำตอบนับ ดังนั้นนี่เป็นความท้าทายแบบstack-exchange-apiสำหรับ y'all: ท้าทาย: ให้codegolf.stackexchangeรหัสคำถามเอาท์พุทอัตราส่วนระหว่างคะแนนโหวตของคำถามและจำนวนคำตอบ (เช่นvotes/answers) ข้อมูลจำเพาะ: คุณสามารถเข้าถึงอินเทอร์เน็ต แต่คุณสามารถเข้าถึงได้stackexchange.comและโดเมนย่อยต่างๆเท่านั้น คุณไม่สามารถใช้เครื่องมือย่อ URL คุณสามารถรับอินพุตและให้เอาต์พุตในรูปแบบมาตรฐานใด ๆ คุณต้องส่งออกอัตราส่วนเป็นตัวเลขทศนิยมในฐาน 10 โดยมีตัวเลขอย่างน้อย 4 {ถูกต้อง} หลังจากทศนิยม (ศูนย์อาจถูกตัดทอน) หากคำถามยังไม่ได้ตอบโปรแกรมของคุณอาจมีพฤติกรรมที่ไม่ได้กำหนด คุณควรใช้scoreคำถามเป็นเสียงนับดูที่นี่ นี่คือcode-golfอย่างน้อยไบต์ในแต่ละภาษาที่ชนะสำหรับภาษานั้น ๆ โดยรวมไบต์อย่างน้อยก็จะชนะโดยรวม นี่คือตัวอย่างโปรแกรมในPython 3 + requests: import requests import json id = input("id> ") url = "https://api.stackexchange.com/2.2/questions/" + id + "?site=codegolf" content = requests.get(url).text question = json.loads(content)["items"][0] …

9
ฉันมีกี่บท
พระคัมภีร์เป็นหนึ่งในหนังสือที่มีอิทธิพลมากที่สุดที่เคยเขียนและอ้างกันทั่วไปว่าเป็นหนังสือที่ขายดีที่สุดของเวลาทั้งหมด มันถูกเขียนขึ้นโดยนักเขียนที่แตกต่างกันประมาณ 40 คนในเวลาหลายร้อยปีก่อนที่จะรวบรวมเป็นรูปแบบปัจจุบัน แต่สิ่งที่น่าสนใจเกี่ยวกับพระคัมภีร์คือวิธีการแบ่งมัน มันถูกแบ่งออกเป็น 2 Testaments ที่แตกต่างกันซึ่งจะแบ่งออกเป็น 66 เล่มเล็ก ๆ ซึ่งแต่ละคนจะแบ่งออกเป็นบทเล็ก ๆ ซึ่งแต่ละคนจะแยกออกเป็นแต่ละบท ฉันคิดว่ามันเป็นความท้าทายที่สนุกที่จะพยายามเข้ารหัสจำนวนบทในหนังสือแต่ละเล่มด้วยรหัสที่สั้นที่สุดเท่าที่จะเป็นไปได้ ดังนั้นสำหรับความท้าทายวันนี้คุณจะต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เวลาหนึ่งของหนังสือที่เป็น input และผลจำนวนบทในหนังสือว่าตามที่The King James Version คุณสามารถใช้ IO ในรูปแบบที่เหมาะสมเช่นการอ่าน / การเขียน STDIN / STDOUT หรือไฟล์อาร์กิวเมนต์ของฟังก์ชัน / ค่าส่งคืนการแจ้งเตือนผู้ใช้และอื่น ๆ ทั้งหมดได้รับอนุญาต ข้อมูลจะเป็นหนึ่งใน 66 เล่มของพระคัมภีร์เสมอและเป็นตัวพิมพ์เล็กเท่านั้น ซึ่งหมายความว่าหากคุณได้รับการป้อนข้อมูลอื่น ๆ พฤติกรรมที่ไม่ได้กำหนดจะได้รับอนุญาต เนื่องจากมีเพียงอินพุตและเอาต์พุตที่เป็นไปได้เพียง 66 รายการเท่านั้นดังนั้นจึงมีให้ที่นี่ตามหน้าวิกิพีเดียในบทไบเบิลใน The King James Version : genesis …

20
ค้นหาเข็มในกองหญ้า (โจร)
นี่เป็นส่วนหนึ่งของการท้าทายของตำรวจและโจร ไปที่นี่เพื่อส่วนตำรวจ ความท้าทายของโจร คำตอบของตำรวจสามารถถอดรหัสได้โดยการลบชุดอักขระใด ๆ ออกจากโปรแกรม Haystack เพื่อให้ได้ผลลัพธ์Needleแทนที่จะเป็นHaystack(ในขณะที่ยังคงเป็นการส่งที่ถูกต้องในภาษาเดียวกัน) คุณไม่จำเป็นต้องค้นหาวิธีแก้ไขปัญหาแบบเดียวกันกับที่ตำรวจต้องการตราบใดที่คุณใช้งานได้ตามข้อ จำกัด ข้างต้น หากคุณจัดการสิ่งนี้โพสต์คำตอบด้วยวิธีแก้ปัญหาเชื่อมโยงไปยังคำตอบของตำรวจและแสดงความคิดเห็นในคำตอบของตำรวจที่เชื่อมโยงกลับไปยังของคุณ โจรที่ร้าวคำตอบตำรวจที่สุดจะชนะ ความสัมพันธ์จะถูกทำลายโดยผลรวมของขนาดของคำตอบตำรวจแตก (ในความโปรดปรานของโจรที่แตกส่งอีกต่อไป) คำตอบตำรวจแต่ละคนสามารถถอดรหัสได้เพียงครั้งเดียวเท่านั้นและแน่นอนว่าคุณไม่ได้รับอนุญาตให้ถอดรหัสคำตอบของคุณเอง หากคำตอบของตำรวจกลายเป็นโมฆะก่อนหรือหลังถูกแคร็กมันจะไม่ถูกนับเข้ากับคะแนนของนักปล้น ตัวอย่าง นี่คือตัวอย่างง่ายๆในภาษาต่างๆ: Ruby Haystack: puts 1>0?"Haystack":"Needle" Delete: XXXXXXXXXXXXXXX Needle: puts "Needle" Python 2 Haystack: print "kcatsyaHeldeeN"[-7::-1] Delete: XXXXXXXX XX Needle: print "eldeeN"[::-1] โปรดทราบว่าชุดย่อยของอักขระที่ลบออกไม่จำเป็นต้องต่อเนื่องกัน

7
เส้นทาง hypercube ที่ยาวที่สุด
ท้าทาย คุณจะได้รับสองบิตบิตที่แตกต่างกันของความยาวเดียวกัน (ตัวอย่างเช่น000และ111.) เป้าหมายของคุณคือค้นหาเส้นทางจากที่หนึ่งไปอีกที่หนึ่งที่: ในแต่ละขั้นตอนที่คุณเปลี่ยนเพียงหนึ่งบิต (คุณสามารถไปจาก000การใด ๆ001, 010, 100) คุณไม่สามารถเยี่ยมชมสตริงบิตเดียวกันสองครั้ง เส้นทางยาวที่สุดเท่าที่จะเป็นไปได้ภายใต้ข้อ จำกัด เหล่านี้ ยกตัวอย่างเช่นที่เกิดจาก000การ111ที่เราสามารถใช้เส้นทาง 000, 001, 011, 010, 110, 100, 101, 111 ซึ่งเข้าชมทั้งหมด 8 บิตความยาว 3 ดังนั้นมันจะต้องเป็นไปได้ที่ยาวที่สุด กฎระเบียบ ช่องโหว่มาตรฐานใช้ คุณสามารถรับอินพุตเป็นสองสตริงของศูนย์และหนึ่งหรือเป็นสองอาร์เรย์ของศูนย์และคนหรือเป็นสองอาร์เรย์ของค่าบูลีน คุณไม่สามารถรับอินพุตเป็นจำนวนเต็มสองจำนวนที่มีการแทนค่าไบนารี่ขวา (การเขียน000และ111เป็น0และ7ไม่ถูกต้อง) หากคุณต้องการคุณอาจใช้ความยาวของสตริงบิตเป็นอินพุต โปรแกรมของคุณได้รับอนุญาตให้ส่งออกเส้นทางโดยการพิมพ์บิตสตริงที่เข้าเยี่ยมชมทีละครั้งหรือโดยการส่งกลับอาร์เรย์ของบิตสตริงที่เข้าชม (แต่ละรูปแบบเดียวกับอินพุต) ผลลัพธ์ของคุณควรมีจุดเริ่มต้นและจุดสิ้นสุดของเส้นทาง (ซึ่งเป็นอินพุตของคุณ) นี่คือโค้ดกอล์ฟซึ่งเป็นรหัสที่สั้นที่สุดในหน่วยไบต์ ตัวอย่าง 0 1 -> 0, 1 10 01 -> 10, 00, 01 …

29
ทำซ้ำองค์ประกอบ Nth
เราไม่ได้มีคำถามเกี่ยวกับสตริงสักระยะหนึ่ง (เพื่อให้แม่นยำ 5 วัน) ดังนั้นไปกันเลย กำหนดสตริงsและจำนวนเต็มบวกnใช้ทุกnองค์ประกอบของ TH s, ทำซ้ำครั้งและนำมันกลับเข้ามาns ตัวอย่างเช่นถ้าn = 3และทุกตัวละครที่สามคือs = "Hello, World!" Hl r!แล้วคุณทำซ้ำตัวละครแต่ละตัวครั้งเพื่อการผลิตn HHHlll rrr!!!จากนั้นคุณแทนที่ตัวอักษรต้นฉบับด้วยเวอร์ชันที่ทำซ้ำเพื่อผลิตผลิตภัณฑ์ขั้นสุดท้ายของHHHellllo, Worrrld!!! คุณต้องทำภารกิจนี้ให้สำเร็จด้วยรหัสที่สั้นที่สุดที่เป็นไปได้ในภาษาของคุณ! กฎระเบียบ นี่คือรหัสกอล์ฟเพื่อให้โค้ดที่สั้นที่สุดเป็นไบต์ชนะ nมีการรับประกันว่าจะมีขนาดเล็กกว่าความยาวsและมากกว่า 0 อักขระตัวแรกsคือตำแหน่งที่ใช้nอักขระ th และนำมาใช้ซ้ำหลายnครั้ง sจะประกอบด้วย ASCII ที่พิมพ์ได้เท่านั้น (รหัสชี้0x20 (space)ไปที่0x7E (~)) กรณีทดสอบ s, n => output "Hello, World!", 3 => "HHHellllo, Worrrld!!!" "Code golf", 1 => "Code …
18 code-golf  string 

18
วงจรคณิตศาสตร์ย้อนกลับ
แรงบันดาลใจจากสิ่งนี้ ในความท้าทายที่เชื่อมโยงเราจะขอให้เพิ่มองค์ประกอบของต้นฉบับและสิ่งที่ตรงกันข้ามของอาร์เรย์อินพุต ในความท้าทายนี้เราจะทำให้มันยากขึ้นเล็กน้อยโดยการแนะนำการดำเนินการทางคณิตศาสตร์ขั้นพื้นฐานอื่น ๆ รับอาร์เรย์ของจำนวนเต็มวนไปเรื่อย ๆ โดย+, *, -, //, %, ^ที่การ//หารจำนวนเต็มและ^เลขชี้กำลังขณะที่ใช้มันกับด้านหลังของอาร์เรย์ หรือกล่าวอีกนัยหนึ่งให้ใช้หนึ่งในฟังก์ชั่นด้านบนกับแต่ละองค์ประกอบของอาเรย์โดยอาร์กิวเมนต์ที่สองนั้นเป็นสิ่งที่ตรงกันข้ามกับอาเรย์ สิ่งนี้อาจยังคงสับสนดังนั้นให้ลองทำตามตัวอย่าง Input: [1, 2, 3, 4, 5, 6, 7, 8, 9] Reverse: [9, 8, 7, 6, 5, 4, 3, 2, 1] [ 1, 2, 3, 4, 5, 6, 7, 8, 9] Operand: + * - / % …

30
ฉันเป็นนักกอล์ฟหรือไม่?
ความหมายและกฎ อาร์เรย์ golfyเป็นอาร์เรย์ของจำนวนเต็มซึ่งแต่ละองค์ประกอบสูงกว่าหรือเท่ากับค่าเฉลี่ยเลขคณิตขององค์ประกอบก่อนหน้านี้ทั้งหมด งานของคุณคือการตรวจสอบว่าอาร์เรย์ของจำนวนเต็มบวกที่กำหนดเป็นอินพุตมีค่าหรือไม่ คุณไม่จำเป็นต้องจัดการกับรายการที่ว่างเปล่า ช่องโหว่เริ่มต้นใช้ มาตรฐานอินพุตและเอาต์พุตวิธีใช้ คุณสามารถเลือกสองค่าที่ไม่ว่างเปล่าที่แตกต่างกัน พวกเขาจะต้องสอดคล้องและต้องปฏิบัติตามกฎการตัดสินใจปัญหาอื่น ๆ ทั้งหมด นี่คือรหัส - กอล์ฟรหัสที่สั้นที่สุดในแต่ละภาษาชนะ! กรณีทดสอบ & ตัวอย่าง ตัวอย่างเช่นอาร์เรย์ต่อไปนี้: [1, 4, 3, 8, 6] Array Array Array Array Array Array Arsenal Array Array Array Array Array Array for Array Of Array Array Arsenal Array Array Array Array Array Array Array Array …

1
ห้องกระจก
(ความท้าทายนี้คล้ายกันมาก แต่ความท้าทายในปัจจุบันมีภาวะแทรกซ้อนเพิ่มเติม) ลองนึกภาพห้อง 2 มิติที่ผนังถูกชุบด้วยกระจกแบน ทันใดนั้นแสงไฟก็พุ่งเข้ามาในห้องซึ่งเป็นส่วนหนึ่งของกำแพงที่หายไป! แสงไฟเต้นรำไปรอบ ๆ ห้องรับแสงสะท้อนจากผนังกระจกและในที่สุดก็ออกจากห้องอีกครั้ง ลอจิก คุณจะได้รับ 5 ตัวแปร: W, H, X, YและZ ตอนนี้พวกเขาหมายถึงอะไร W, H คือขนาดของห้อง (รวมถึงกำแพง) โดย W คือความกว้างและ H เป็นความสูง X, Y เป็นพิกัดที่กำแพงมีรูอยู่ คุณสามารถสันนิษฐานได้ว่าสิ่งนี้อยู่บนกระเบื้องผนังเสมอ พิกัดนั้นเป็นแบบ 0 โดยที่แกน X ชี้ไปทางขวาและแกน Y ชี้ลง Z เป็นตัวเดียวที่เป็นตัวแทนของทิศทางที่แสงตกเข้ามาในห้องอย่างใดอย่างหนึ่งหรือ\ / ห้องจะต้องสร้างขึ้นจากตัวละครต่อไปนี้: | สำหรับผนังแนวนอน - สำหรับผนังแนวตั้ง + สำหรับมุม ตัวอย่าง: (W …

19
เมทริกซ์ที่มี 1 ถึง L (n) ในคอลัมน์ n ทั้งหมด
ท้าทาย: ใช้รายการLที่มีจำนวนเต็มบวกเป็นอินพุต: 3 5 2 1 6 และสร้างเมทริกซ์โดยที่คอลัมน์ n'th มีเวกเตอร์1: L (n)โดยที่แถวที่สั้นกว่าจะถูกเติมด้วยศูนย์ กรณีทดสอบ: 3 5 2 1 6 ----------------- 1 1 1 1 1 2 2 2 0 2 3 3 0 0 3 0 4 0 0 4 0 5 0 0 5 0 0 0 0 6 1 …
18 code-golf  matrix 

1
การเชื่อมต่อผู้ใช้ Ascii
ในความท้าทายนี้เราสร้างส่วนต่อประสานผู้ใช้ Ascii +----------------------+ |+-----------++-------+| ||<- Previous||Next ->|| |+-----------++-------+| |== The title == | | | |Lorem ipsum dolor | |sit amet... | |+--------------+ | ||Post a comment| | |+--------------+ | |+-----------------+ | ||User X commented:| | || | | ||This is amazing! | | |+-----------------+ | |+-----------------+ | ||User Y …

28
เมทริกซ์ในช่วง
ความท้าทาย รับn>0เอาท์พุทจำนวนเต็มn+1 X n+1เมทริกซ์ที่มีจำนวนเต็มทั้งหมดจาก1ไป2nตามที่แสดงในการทดสอบกรณีร้อง กรณีทดสอบ n=1 1 2 2 2 n=2 1 2 4 2 3 4 4 4 4 n=5 1 2 3 4 5 10 2 3 4 5 6 10 3 4 5 6 7 10 4 5 6 7 8 10 5 6 7 8 9 …

19
ความแตกต่างของ MaxMin Divisor Pairs (DMDP)
พูดคุยเกี่ยวกับตัวหาร ... ออกจากสี่เหลี่ยมที่สมบูรณ์แบบ (สักครู่) จำนวนเต็มบวกทั้งหมดสามารถแสดงเป็นผลคูณของตัวหาร 2 ตัวอย่างด่วนสำหรับ126: นี่คือตัวหารทั้งหมดของ126 ในขณะที่คุณสามารถเห็นตัวหารทั้งหมดสามารถจับคู่ได้ นี่คือสิ่งที่เราจะเรียกว่าDivisor Pairs : [1, 126], [2, 63], [3, 42], [6, 21], [7, 18], [9, 14] สำหรับความท้าทายนี้เราจะต้องมีเพียงคู่สุดท้ายของรายการนี้ (ซึ่งเป็นคู่ศูนย์ของภาพ): [9,14]เราจะเรียกคู่นี้MaxMin หารคู่ ความแตกต่างของ MaxMin Divisor Pair (DMDP)คือความแตกต่างของสององค์ประกอบของคู่ซึ่งเป็น[9,14]=5 อีกตัวอย่าง544หนึ่ง ตัวหารคือ: [1, 2, 4, 8, 16, 17, 32 , 34, 68, 136, 272, 544] และDMDP (544) …

21
เอาท์พุทตำแหน่งแนวทแยงของฉันกำลังสอง
กำหนดตัวเลขnให้เอาท์พุทรายการที่เรียงลำดับแล้วของดัชนีที่อิง 1 ที่ตกลงบนเส้นทแยงมุมของn*nเมทริกซ์จตุรัส ตัวอย่าง: สำหรับอินพุตของ3: สี่เหลี่ยมจัตุรัสจะเป็น: 1 2 3 4 5 6 7 8 9 ตอนนี้เราเลือกดัชนีทั้งหมดที่แสดงโดย\, /หรือX( #หรือตำแหน่งที่ไม่ใช่แนวทแยงถูกปฏิเสธ) \ # / # X # / # \ ผลลัพธ์จะเป็น: [1,3,5,7,9] กรณีทดสอบ: 1=>[1] 2=>[1,2,3,4] 3=>[1,3,5,7,9] 4=>[1,4,6,7,10,11,13,16] 5=>[1,5,7,9,13,17,19,21,25] จะไม่มีคำตอบที่ยอมรับได้ ฉันต้องการทราบรหัสที่สั้นที่สุดสำหรับแต่ละภาษา
18 code-golf  math  matrix 

12
หมายเลขเดิม (II)
ความท้าทายนี้เป็นหลักเหมือนกันกับคนนี้ที่มีเพียงหนึ่งความแตกต่าง: จะได้รับอนุญาตในขณะนี้เพื่อสับเปลี่ยนตัวอักษรใดก็ได้ในสตริง สถานการณ์ จอห์นมีหมายเลขสำคัญและเขาไม่ต้องการให้คนอื่นเห็น เขาตัดสินใจเข้ารหัสหมายเลขโดยใช้ขั้นตอนต่อไปนี้: จำนวนของเขาเป็นลำดับที่ไม่ลดลงเสมอ (เช่น "1123" ) เขาแปลงแต่ละหลักให้เป็นคำภาษาอังกฤษ (เช่น"123" -> "ONETWOTHREE" ) จากนั้นจัดเรียงตัวอักษรแบบสุ่ม (เช่น"ONETWOTHREE" -> "EEWOOHRNTET" ) จอห์นรู้สึกว่าหมายเลขของเขาปลอดภัยในการทำเช่นนั้น ในความเป็นจริงการเข้ารหัสดังกล่าวสามารถถอดรหัสได้อย่างง่ายดาย :( งาน รับสายอักขระที่เข้ารหัส s งานของคุณคือการถอดรหัสและส่งกลับหมายเลขเดิม กฎระเบียบ นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดเป็นไบต์ชนะ คุณสามารถสันนิษฐานได้ว่าสตริงอินพุตนั้นใช้ได้เสมอ สตริงอินพุตมีเฉพาะตัวอักษรตัวพิมพ์ใหญ่เท่านั้น หมายเลขดั้งเดิมจะเรียงตามลำดับจากน้อยไปมาก คุณอาจส่งคืนตัวเลขในรูปแบบสตริงหรือจำนวนเต็ม ตัวอักษรจะถูกสับระหว่างคำเดียวไม่ใช่ระหว่างทั้งสตริงตัวอักษรสามารถสับได้ทุกที่ในสตริง ตัวเลขจะมาจาก 1 ถึง 9 รวม ( ONEถึงNINE) สตริง Unscrambled ที่เป็นไปได้ นี่คือรายการของสตริงหลังจากแปลงเป็นสตริงจากตัวเลข: 1 -> ONE 2 -> TWO …

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