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

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

2
Micromanagement ร้านขายของชำ
คุณเป็นพนักงานที่ร้านขายของชำใหม่สุดฮิปฟู้ดฟู้ดส์และเป็นวันก่อนวันขอบคุณพระเจ้า คริสต์มาสอีสเตอร์ เนื่องจากร้านค้าจะเต็มไปด้วยลูกค้าที่เร่งรีบเพื่อซื้ออาหารร้านค้าจึงต้องการผู้จัดการจราจรเพื่อส่งทุกคนไปยังสายที่เหมาะสม เป็นคนขี้เกียจคุณอยากจะทำสิ่งนี้โดยอัตโนมัติเพื่อที่คุณจะได้ไปตีเดลี่ก่อนที่ทุกคนจะเอาไก่งวง แฮมไปทำอะไรก็ได้ อย่างไรก็ตามสิ่งที่คุณมีกับคุณคือโทรศัพท์ของคุณและการเขียนโปรแกรมยาว ๆ เป็นความเจ็บปวดที่แท้จริง - ดังนั้นคุณจำเป็นต้องฝึกฝนทักษะการใช้รหัสกอล์ฟของนินจา ท้าทาย ลองนึกภาพร้านขายของชำบนตารางสองมิติ นี่คือตารางตัวอย่างที่จะผ่า: e s s s Y # # #s # #s # #s # #s # #s # #s #s #s # #3 #1 #4 # x x x x กริดเริ่มต้นด้วยe, ซึ่งหมายถึง "ทางออก" ไปยังส่วนที่เหลือของร้านค้า ทุกรุ่นร้านค้าทั้งหมดในตารางวางไข่ผู้ซื้อ ( s) ด้านล่างโดยตรง …
14 code-golf  string  grid 

6
แสดงเวลาปัจจุบันในรูปแบบ ASCII
ท้าทาย งานของคุณคือการส่งออกเวลา (ในเวลา 12 ชั่วโมง) ใน ascii art ตัวละครทั้งหมดที่จะใช้มีดังนี้: ___ __ ___ ____ _ _ _____ __ ______ / _ \ /_ | |__ \ |___ \ | || | | ____| / / |____ | | | | | | | ) | __) | | || |_ | …

11
พาร์ติชันที่เข้มงวดของจำนวนเต็มบวก
OEIS A000009นับจำนวนพาร์ติชันที่เข้มงวดของจำนวนเต็ม พาร์ทิชันที่เข้มงวดของติดลบnเป็นชุดของจำนวนเต็มบวก (จึงไม่มีการทำซ้ำที่ได้รับอนุญาตและการสั่งซื้อไม่ได้เรื่อง) nรวมว่า ยกตัวอย่างเช่น 5 มีสามพาร์ทิชันที่เข้มงวด: 5, และ4,13,2 10 มีสิบพาร์ติชัน: 10 9,1 8,2 7,3 6,4 7,2,1 6,3,1 5,4,1 5,3,2 4,3,2,1 ท้าทาย รับจำนวนเต็มไม่ใช่ลบn<1,000 ส่งออกจำนวนพาร์ทิชันที่เข้มงวดมันมี กรณีทดสอบ: 0 -> 1 42 -> 1426 นี่คือรายการของหมายเลขพาร์ติชันเข้มงวดจาก 0 ถึง 55 จาก OEIS: [1,1,1,2,2,3,4,5,6,8,10,12,15,18,22,27,32,38,46,54,64,76,89,104,122,142,165,192,222,256,296,340,390,448,512,585,668,760,864,982,1113,1260,1426,1610,1816,2048,2304,2590,2910,3264,3658,4097,4582,5120,5718,6378] นี่คือโค้ดกอล์ฟดังนั้นทางออกที่สั้นที่สุดในหน่วยไบต์ชนะ

5
ค้นหาแนวชายฝั่ง
งานของคุณคือการหาความยาวของแนวชายฝั่งของแผนที่เกาะที่ระบุในแผนที่ ASCII แผนที่นำเข้าจะประกอบด้วย#อักขระอย่างน้อย 1 ตัวที่ระบุที่ดินและช่องว่างที่ระบุถึงน้ำ แนวชายฝั่งถือว่าเป็นขอบระหว่างที่ดินกับน้ำรวมถึงทะเลสาบและเกาะต่างๆ โซลูชันของคุณควรเป็นโปรแกรมที่สมบูรณ์ที่อ่านในไฟล์สตริงหรืออาร์เรย์ของสตริงและส่งออกจำนวนเต็มเดียวไปยังหน้าจอหรือ stdout แต่ละบรรทัดอินพุตอาจมีช่องว่างนำหน้าหรือต่อท้ายและอักขระแฮชเป็นศูนย์หรือมากกว่า เส้นขอบของแผนที่ถือเป็นช่องว่าง (น้ำ) เส้นอาจมีความยาวต่างกัน ตัวอย่าง: Input: ## ## Output: 8 Input: ### ### ##### # ## Output: 26 Input: ##### # # # # # # # ##### Output: 36 นี่คือรหัสกอล์ฟดังนั้นจำนวนไบต์ที่น้อยที่สุดจึงชนะ

10
แปลงภาษาอังกฤษเป็นตัวเลขที่ไม่มีบิวด์อินหรือไลบรารี่
ความท้าทายนี้คล้ายกับของอื่น ๆแต่ฉันทำข้อ จำกัด (ดูข้อความที่เป็นตัวหนาด้านล่าง) ที่ฉันคิดว่าจะทำให้แตกต่างกันมากและ (ฉันหวังว่า) จะสนุก ความท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นในภาษาการเขียนโปรแกรมใด ๆ ที่ใช้เป็นชื่อภาษาอังกฤษของจำนวนเต็มบวกnไม่เกิน100และส่งกลับnเป็นจำนวนเต็ม ช่องโหว่มาตรฐานเป็นสิ่งต้องห้ามและคุณจะไม่สามารถใช้ฟังก์ชั่นเครื่องมือภายนอกหรือห้องสมุดที่มีอยู่แล้วไม่งานนี้ รหัสแหล่งที่สั้นที่สุดเป็นไบต์ชนะ ทดสอบ ที่นี่ทุกinput->outputกรณี: one -> 1 two -> 2 three -> 3 four -> 4 five -> 5 six -> 6 seven -> 7 eight -> 8 nine -> 9 ten -> 10 eleven -> 11 twelve -> …

9
ควินที่จัดทำดัชนีได้
เป้าหมายของการท้าทายนี้คือการสร้างโปรแกรมที่ให้ผลลัพธ์ตัวอักษรที่ n ของซอร์สโค้ดโดยที่ n ถูกกำหนดเป็นอินพุตให้กับโปรแกรม เช่นเดียวกับการท้าทายควินหลามส่วนใหญ่คุณไม่ได้รับอนุญาตให้อ่านซอร์สโค้ดของคุณเป็นไฟล์หรือใช้ฟังก์ชันควินินในตัว อินพุต จำนวนเต็ม 0 <= n <len (โปรแกรม) เอาท์พุต อักขระที่ n (ไม่ใช่ไบต์) ของโปรแกรมของคุณ การชนะ เช่นเดียวกับคำถาม codegolf ส่วนใหญ่คุณจะได้รับความท้าทายโดยใช้จำนวนไบต์ต่ำที่สุดในการแก้ปัญหา โบนัส -5% หากโปรแกรมของคุณรองรับสไตล์ดัชนีลบ (เช่น -1 จะเป็นอักขระตัวสุดท้ายของโปรแกรมของคุณ) หากใช้กับโบนัสด้านล่างช่วงของคุณจะต้องสนับสนุนดัชนีเชิงลบ -20% หากโปรแกรมของคุณรองรับช่วงเป็นอินพุต (ทุกรูปแบบ) นอกเหนือจากข้อกำหนดข้างต้น -25% หากโปรแกรมของคุณเติมโบนัสทั้งคู่ ลีดเดอร์ นี่เป็นตัวอย่างข้อมูลเพื่อสร้างทั้งกระดานผู้นำปกติและภาพรวมของผู้ชนะตามภาษา เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้: # Language Name, N bytes ที่Nมีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในบรรทัดแรกโดยการตีพวกเขาผ่าน ตัวอย่างเช่น # Ruby, …
14 code-golf  quine 

18
การเพิ่มจำนวนทศนิยมของสตริง
รับ 2 อินพุตสตริงและเลขทศนิยมส่งออกสตริงที่คูณด้วยตัวเลขนั้น การจับคือจำนวนสามารถเป็นจำนวนลอยหรือจำนวนเต็ม คุณควรเอาท์พุตfloor(n)เวลาสตริงและจากนั้นfloor((n-floor(n))*len(string))ตัวอักษรแรกอีกครั้ง หมายเหตุอื่น ๆ : อินพุตจะไม่ลอยตัวเสมอไปอาจเป็น int ดังนั้น 1.5, 1 และ 1.0 จึงเป็นไปได้ทั้งหมด มันจะอยู่ในฐาน 10 เสมอและหากคุณต้องการข้อยกเว้นโปรดแสดงความคิดเห็น อินพุตสตริงอาจมีช่องว่างคำพูดและอักขระอื่น ๆ ไม่มีการขึ้นบรรทัดใหม่หรือตัวอักษรควบคุม ไม่มีบิวด์อินสำหรับการทำซ้ำสายโดยตรงแม้'a'*5จะอนุญาตให้ใช้การคูณสตริงเช่น python อย่างไรก็ตามอนุญาตให้เพิ่มสตริงได้ กรณีทดสอบ: เครื่องหมายจุลภาคและช่องว่างแยกอินพุต test case, 1 -> test case case, 2.5 -> casecaseca (will add more later), 0.3333 -> (will(space) cats >= dogs, 0.5 -> cats …
14 code-golf  string 

6
นาฬิกา (เกมไพ่)
Clockเป็นเกมไพ่ที่น่าสนใจเพราะไม่ต้องใช้ทักษะ มันเป็นเกมที่เล่นคนเดียวและการกำหนดค่าการ์ดเดียวกันจะนำไปสู่การชนะหรือแพ้ ในความท้าทายนี้คุณจะต้องคิดออกว่าได้รับชัยชนะการกำหนดค่าบัตรหรือสูญเสีย คุณสามารถเล่นเกมที่นี่ เกมนี้เล่นดังต่อไปนี้: มีกองไพ่สิบสามกองคว่ำหน้าลง แต่ละกองมีจำนวนตั้งแต่ 0 ถึง 12 เราตั้งค่ากองที่ 0 ให้เป็นกองปัจจุบัน เราพลิกไพ่อันดับต้น ๆ ของกองหน้าปัจจุบันขึ้น เราย้ายใบหน้าบัตรที่ด้านล่างของกองที่เกี่ยวข้องของตน(บัตร 4 ไปภายใต้กองที่ 4) การ์ดยังคงหงายหน้าอยู่ กองนี้กลายเป็นกองปัจจุบัน หากกองปัจจุบันหงายขึ้นโดยสมบูรณ์แล้วเกมจะจบลง มิฉะนั้นกลับไปที่ขั้นตอนที่ 3 เคล็ดลับ: เกมจะจบลงที่กองที่ 0 เสมอ เกมนี้ชนะถ้าไพ่ทุกใบหงายหน้าและแพ้ถ้ามีไพ่คว่ำหน้าอยู่ Input / Output อาร์เรย์ 2D ที่มีเสาเข็มแต่ละอัน การ์ดจะแสดงด้วยตัวเลขตั้งแต่ 0 ถึง 12 (ชุดไม่เกี่ยวข้องและไม่ได้รับ) การ์ดอันดับต้นของแต่ละกองเป็นองค์ประกอบแรกของแต่ละอาร์เรย์ คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นมีรูปแบบที่ถูกต้อง: มันจะมีไพ่ 52 ใบจาก 0 ถึง 12 (รวม) …

6
จดหมายย้าย! จุด 2
ตัวอักษรตัวแรกรับการเคลื่อนย้าย! เป็นที่นิยมมาก แต่มีส่วนร่วม จำกัด อันนี้จะแก้ได้ง่ายขึ้น แต่หวังว่าจะมีลูกเล่นในการตีกอล์ฟ คุณจะได้รับสายอักขระตัวพิมพ์เล็กเท่านั้น สำหรับตัวอักษรแต่ละตัวที่มีตำแหน่งในตัวอักษรmย้ายมันเพื่อให้มันกลายเป็นตัวอักษรที่mจากท้าย หากค่าของmยาวกว่าความยาวของสตริงให้ย้ายไปยังส่วนหน้า เอาต์พุตเฉพาะสตริงที่ถูกแปลงอย่างสมบูรณ์ ตัวอย่าง: "ยีราฟ" 'g' เป็นตัวอักษรตัวที่ 7 ในตัวอักษรมันเป็นตัวอักษรที่ 7 จากด้านหลังแล้วดังนั้นทิ้งไว้ 'i' เป็นตัวอักษรที่ 9 เนื่องจาก 9 มีขนาดใหญ่กว่าความยาวของคำจึงไปที่ด้านหน้าดังนั้นสตริงจึงกลายเป็น igraffe 'r' เป็นตัวอักษรที่ 18 เหมือนกับ 'i' ซึ่งจะอยู่ด้านหน้า: rigaffe 'a' เป็นตัวอักษรตัวที่ 1 มันไปถึงจุดสิ้นสุด: rigffea 'f' เป็นตัวอักษรตัวที่ 6 มันจะกลายเป็นตัวที่ 6 จากด้านหลัง: rfigfea ถัดไป 'f' เป็นตัวอักษรตัวที่ 6 ดังนั้นมันจึงไปที่อันดับ 6 …

4
สร้างเครื่องมือแสดงความคิดเห็นที่เรียบง่าย
ท้าทาย: บาง ASCII-art เป็นความเจ็บปวดที่จะทำ แต่ทำให้ความคิดเห็นรหัสง่ายต่อการอ่านโดยเฉพาะอย่างยิ่งเมื่อรหัสมีความหนาแน่น ความท้าทายคือการสร้างเครื่องมือง่าย ๆ ที่แปลงความคิดเห็นเป็น ASCII แบบง่าย ๆ ด้วยลูกศร ความคิดเห็นเพื่อแก้ไขถูกคั่นด้วยความคิดเห็นที่ว่างเปล่า ตัวอย่างเช่นสมมติว่าไวยากรณ์ความคิดเห็น Haskell แปลงสิ่งนี้: -- -- Here's a thing -- Here's another thing -- The most important thing -- * * * -- f x=x+1*x*1*1*0 สำหรับสิ่งนี้: -- /------------< Here's a thing -- | /-------< Here's another thing -- …

30
ไปสร้าง Java บางตัว
เจ้านายของคุณต้องการให้คุณเขียนโค้ดแบบนี้: public static boolean isPowerOfTen(long input) { return input == 1L || input == 10L || input == 100L || input == 1000L || input == 10000L || input == 100000L || input == 1000000L || input == 10000000L || input == 100000000L || input == 1000000000L || input == …

13
กฎการจำหน่ายทั่วโลกของโจรสลัด
มี "เกม" ที่มีอยู่ซึ่งโจรสลัดแบ่งเหรียญทองอย่างมีเหตุผลตามกฎบางอย่าง ข้อความจากWikipedia : มี 5 เหตุผลโจรสลัด A, B, C, D และ E พวกเขาพบ 100 เหรียญทอง พวกเขาต้องตัดสินใจว่าจะแจกจ่ายอย่างไร โจรสลัดมีลำดับอาวุโสอย่างเข้มงวด: A เหนือกว่า B ซึ่งเหนือกว่า C ซึ่งเหนือกว่า D ซึ่งเหนือกว่า E ดังนั้นกฎการกระจายทั่วโลกของโจรสลัดจึงเป็นที่ว่าโจรสลัดอาวุโสที่สุดควรเสนอการแจกเหรียญ โจรสลัดรวมถึงผู้เสนอนั้นลงคะแนนว่าจะยอมรับการกระจายนี้หรือไม่ ในกรณีที่มีคะแนนเสียงเท่ากันผู้ยื่นข้อเสนอจะต้องออกเสียงลงคะแนน หากการกระจายได้รับการยอมรับเหรียญจะถูกจ่ายออกไปและเกมจะสิ้นสุดลง หากไม่มีผู้เสนอจะถูกโยนลงน้ำจากเรือโจรสลัดและตายและโจรสลัดอาวุโสที่สุดคนต่อไปจะทำข้อเสนอใหม่เพื่อเริ่มระบบใหม่อีกครั้ง Pirates ใช้การตัดสินใจของพวกเขาในสามปัจจัย ก่อนอื่นโจรสลัดแต่ละคนต้องการความอยู่รอด ประการที่สองการมีชีวิตอยู่รอดโจรสลัดแต่ละคนต้องการเพิ่มจำนวนเหรียญทองให้ได้มากที่สุด ประการที่สามโจรสลัดแต่ละคนต้องการที่จะโยนลงน้ำอีกครั้งหากผลลัพธ์อื่น ๆ ทั้งหมดจะเท่ากัน โจรสลัดไม่เชื่อใจซึ่งกันและกันและจะไม่ทำหรือให้เกียรติสัญญาใด ๆ ระหว่างโจรสลัดนอกเหนือจากแผนการแจกจ่ายที่เสนอซึ่งให้เหรียญทองจำนวนหนึ่งแก่โจรสลัดแต่ละคน ท้าทาย รับข้อมูลเป็นจำนวนเต็มn1 <= n <= 99 โดยที่nจำนวนโจรสลัด …
14 code-golf 

29
เลขศูนย์ในช่วงเวลา
งานของคุณคือการเขียนฟังก์ชั่นหรือโปรแกรมที่ใช้จำนวนเต็มสองจำนวนที่ไม่เป็นลบiและk( i≤ k) และหาจำนวนศูนย์ที่คุณเขียนถ้าคุณเขียนตัวเลขทั้งหมดจากiถึงk(รวม) ลงในฐานที่คุณเลือก จากกระดาษ เอาท์พุทจำนวนเต็มนี้จำนวนศูนย์เพื่อ stdout หรือคล้ายกัน -30%หากคุณยอมรับอาร์กิวเมนต์ที่สามbจำนวนเต็มฐานเพื่อเขียนตัวเลขในนั้นต้องมีการจัดการอย่างน้อยสองฐานเพื่อให้ได้โบนัสนี้ คุณอาจยอมรับอินพุตในฐานใดก็ได้ที่คุณชอบและคุณสามารถเปลี่ยนฐานระหว่างกรณีทดสอบได้ คุณอาจจะยอมรับข้อโต้แย้งi, kและเลือกbในลำดับใด ๆ ที่คุณต้องการ คำตอบต้องจัดการอย่างน้อยหนึ่งฐานที่ไม่ใช่เอกภาพ กรณีทดสอบ (ในฐาน 10): i k -> output 10 10 -> 1 0 27 -> 3 100 200 -> 22 0 500 -> 92 นี่คือรหัสกอล์ฟ ไบต์ที่น้อยที่สุดจะชนะ

4
รูปแบบการเคลื่อนไหวของนางฟ้าหมากรุก "leaper"
leaperเป็นหมวดหมู่ของชิ้นหมากรุกนางฟ้าซึ่งย้ายจาก "กระโดด". อัศวินปกติคือ (1,2) -leaper ซึ่งหมายถึงการเคลื่อนไหวแต่ละครั้งเกี่ยวข้องกับการเคลื่อนที่เป็นระยะทาง 1 ตารางในทิศทางมุมฉากและ 2 สี่เหลี่ยมในทิศทางตั้งฉาก .o.o. o...o ..N.. o...o .o.o. มี leapers ที่แตกต่างกันมากมาย leaper (1,3) เรียกว่า Long Knight หรือ Camel รูปแบบการย้ายของมันมีลักษณะดังนี้: ..o.o.. ....... o.....o ...L... o.....o ....... ..o.o.. นอกจากนี้ยังมี (2,2) Alfil ... o...o ..... ..A.. ..... o...o ... และแม้กระทั่ง (0,1) Wazir .o. oWo .o. ท้าทาย …

2
เวกเตอร์แบบยุคลิด
จากศิลปะ ASCII ของเวกเตอร์สองตัวหาขนาดและองศาของผลลัพธ์ อินพุต สามารถรับได้ผ่านทาง STDIN อ่านจากไฟล์โลคัลหรือผ่านการเรียกฟังก์ชัน นี่คือตัวอย่างของอินพุตเวกเตอร์สองรายการ: ^------> | | | x สิ่งนี้แสดงถึงการเปลี่ยนแปลงของ 4 หน่วยทางเหนือและ 7 หน่วยทางตะวันออก จุดเริ่มต้นของอินพุตทุกตัวจะถูกแทนด้วยx(ทศนิยม120) เวกเตอร์ทั้งหมดเป็นเส้นแนวนอนหรือแนวตั้ง แต่ละเวกเตอร์มีหนึ่งในสี่จุดสิ้นสุดเหล่านี้: ^v<>และประกอบด้วยเส้นประ ( -, ทศนิยม 45) หรือแถบแนวตั้ง ( |, ทศนิยม 124) จุดว่างบนเครื่องบินจะเต็มไปด้วยช่องว่าง ( ทศนิยม 32) xการป้อนข้อมูลที่อาจจะเป็นที่เดียว เวกเตอร์ที่อยู่ติดกันนั้นตั้งฉากกันเสมอ เวกเตอร์ทั้งหมดเป็นแบบปลายหาง เอาท์พุต นี่คือการกำจัดของจุดผลลัพธ์ (ระยะทางจากจุดเริ่มต้น) และระดับที่มันเคลื่อนที่โดยสัมพันธ์กับจุดเริ่มต้น สำหรับอินพุตข้างต้นเอาต์พุตควรเป็น8.06หน่วยและ60.3องศา แต่ละคนควรมีตัวเลขนัยสำคัญ 3 ตัว นี่คือตัวอย่างของตัวเลขที่มีตัวเลขนัยสำคัญ 3 ตัว: 1.00 …

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