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

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

30
5 ตัวอักษรโปรด
ความท้าทายนั้นง่ายมากจริง ๆ เลือกตัวอักษรที่แตกต่างกัน 5 ตัว (คุณสามารถเลือก 5 ตัวที่อนุญาตให้คุณใส่รหัสที่สั้นที่สุดได้ถ้าต้องการ) แล้วเอาออกไปที่คอนโซล อย่างไรก็ตามการบิดคือต้องมาจากรายการต่อไปนี้: AAA BBBB CCCC DDDD EEEEE FFFFF GGG H H A A B B C D D E F G H H AAAAA BBBB C D D EEEE FFFF G GG HHHHH A A B B C D D E F …

30
Code Golf Christmas Edition: วิธีการพิมพ์ต้นคริสต์มาสที่มีความสูง N
กำหนดตัวเลขNฉันจะพิมพ์ต้นคริสต์มาสสูงNโดยใช้จำนวนอักขระน้อยที่สุดได้อย่างไร Nถูก จำกัด ด้วยค่าต่ำสุดที่3และค่าสูงสุดของ30(ขอบเขตและการตรวจสอบข้อผิดพลาดไม่จำเป็น) Nถูกกำหนดให้เป็นอาร์กิวเมนต์บรรทัดคำสั่งหนึ่งเดียวเท่านั้นสำหรับโปรแกรมหรือสคริปต์ของคุณ ทุกภาษาชื่นชมถ้าคุณเห็นภาษาที่นำไปใช้แล้วและคุณสามารถทำให้สั้นลงแก้ไขได้ถ้าเป็นไปได้ - แสดงความคิดเห็นเป็นอย่างอื่นและหวังว่าจะมีคนล้างความยุ่งเหยิง รวมบรรทัดใหม่และ White Spaces เพื่อความชัดเจน แต่อย่ารวมไว้ในจำนวนอักขระ ต้นคริสต์มาสถูกสร้างขึ้นเช่นนี้โดยมี "ลำตัว" ซึ่งประกอบด้วยเพียงศูนย์กลาง "*" N = 3: * *** ***** * N = 4: * *** ***** ******* * N = 5: * *** ***** ******* ********* * N กำหนดความสูงของกิ่งก้านที่ไม่รวมลำต้นหนึ่งบรรทัด สุขสันต์วันคริสต์มาส PPCG!

30
เคล็ดลับสำหรับการเล่นกอล์ฟใน ECMAScript 6 ขึ้นไป
สิ่งนี้คล้ายกับ "เคล็ดลับสำหรับการเล่นกอล์ฟใน <... >" อื่น ๆ แต่มีการกำหนดเป้าหมายเฉพาะคุณลักษณะใหม่ใน JavaScript ที่แสดงใน ECMAScript 6 ขึ้นไป JavaScript โดยเนื้อแท้เป็นภาษาที่ละเอียดมากfunction(){}, .forEach()แปลงสตริงอาร์เรย์วัตถุอาร์เรย์เหมือนอาร์เรย์ ฯลฯ ฯลฯ มี bloats สุดและไม่ดีต่อสุขภาพกอล์ฟ ในทางกลับกัน ES6 + มีคุณสมบัติที่มีประโยชน์บางอย่างและลดการปล่อยทิ้ง x=>y, [...x]ฯลฯ เป็นเพียงตัวอย่างบางส่วน โปรดโพสต์เทคนิคดีๆที่สามารถช่วยลดจำนวนไบต์พิเศษเหล่านี้จากโค้ดของคุณ หมายเหตุ: เคล็ดลับสำหรับ ES5 มีอยู่แล้วในTips for golfing in JavaScript ; คำตอบของหัวข้อนี้ควรมุ่งเน้นไปที่เทคนิคเฉพาะใน ES6 และรุ่น ES อื่น ๆ ในอนาคต อย่างไรก็ตามเธรดนี้มีไว้สำหรับผู้ใช้ที่กำลังเล่นกอล์ฟโดยใช้คุณสมบัติ ES5 รู้รอบอาจมีเคล็ดลับที่จะช่วยให้พวกเขาเข้าใจและจับคู่ฟีเจอร์ ES6 กับสไตล์ของการเข้ารหัส ES5

9
กอล์ฟปฏิทินจุติ
มันเป็นช่วงเวลาของปีที่พวกเราหลายคนได้รับปฏิทินการถือกำเนิดของเรา! หากคุณไม่คุ้นเคยกับปฏิทินจุติปฏิทินเหล่านี้เป็นปฏิทินพิเศษที่ใช้นับถอยหลังถึงวันคริสต์มาส จากประสบการณ์ของฉันประตูถูกวางแบบสุ่มและส่วนหนึ่งของความสนุกในขณะที่เด็กกำลังออกกำลังกายซึ่งเป็นประตูในวันพรุ่งนี้! บ่อยครั้งที่วันนี้ปฏิทินมีช็อคโกแลตอยู่ด้านหลังแต่ละประตู แต่แทนที่จะซื้อปฏิทินจุติในปีนี้คุณควรสร้าง ASCII หนึ่งอัน! งาน กำหนดอินพุตจำนวนเต็ม ( n) ในช่วง0- 24สร้างปฏิทินการถือครอง ASCII โดยเปิดประตูหมายเลขขึ้น - nเปิด คุณต้องใช้คำสั่งเช่นเดียวกับในตัวอย่างด้านล่าง: 2, 17, 8, 12, 1, 6, 11, 20, 5, 22, 3, 10, 15, 23, 7, 16, 9, 24, 18, 4, 13, 19, ,2114 ประตู ประตูที่ปิดจะต้อง: .-----------. | | | | | | …

23
การเขียนโปรแกรมโลกที่เก่าแก่
ลองกำหนดโปรแกรมที่เก่าแก่เป็นโปรแกรมที่ไม่มีข้อผิดพลาดใด ๆ ของตัวเอง แต่จะผิดพลาดถ้าคุณแก้ไขได้โดยการเอาย่อยที่ต่อเนื่องกันใด ๆ ของตัวอักษร N, 1 <= N < program lengthที่ ตัวอย่างเช่นโปรแกรมสามตัวอักษร Python 2 `8` เป็นโปรแกรมที่เก่าแก่( ขอบคุณ Sp )เนื่องจากโปรแกรมทั้งหมดที่เกิดจากการลบสตริงย่อยของความยาว 1 ทำให้เกิดข้อผิดพลาด (ข้อผิดพลาดทางไวยากรณ์ในความเป็นจริง แต่ข้อผิดพลาดประเภทใดจะทำ): 8` `` `8 และโปรแกรมทั้งหมดที่เป็นผลมาจากการลบสตริงย่อยของความยาว 2 ทำให้เกิดข้อผิดพลาด: ` ` ตัวอย่างเช่นหาก`8เป็นโปรแกรมที่`8`ไม่มีข้อผิดพลาดก็จะไม่ได้รับความบริสุทธิ์เนื่องจากผลลัพธ์ทั้งหมดของการลบสตริงย่อยจะต้องเกิดข้อผิดพลาด งานของคุณในการท้าทายนี้คือการเขียนโปรแกรมที่สั้นที่สุดที่เป็นไปได้โดยไม่ต้องป้อนข้อมูล แต่ให้ผลลัพธ์หนึ่งในห้าคำต่อไปนี้: world earth globe planet sphere คำใดที่คุณเลือกขึ้นอยู่กับคุณ คำเดียวรวมถึงบรรทัดใหม่ท้ายที่เป็นตัวเลือกควรพิมพ์ไปยัง stdout (หรือภาษาอื่นที่ใกล้เคียงที่สุดของคุณ) โปรแกรมที่สั้นที่สุดในหน่วยไบต์ชนะ หมายเหตุ: ต้องการโปรแกรมแบบสแตนด์อโลนไม่ใช่ฟังก์ชั่น คำนี้เป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เอาท์พุทWorldหรือEARTHไม่ได้รับอนุญาต …

14
[คริสต์มาสชุดรูปแบบการปฏิเสธความรับผิดที่นี่]
หมายเหตุสำหรับ mods ถ้าชื่อไม่ยุติธรรมให้เปลี่ยนเป็นอะไรฉันคิดว่ามันตลก คุณได้รับมอบหมายให้แขวนไฟสำหรับเทศกาลคริสต์มาสนี้และครอบครัวของคุณได้ตัดสินใจว่ามันจะเป็นวันคริสต์มาสที่มีความสุขคุณต้องแขวนไฟคริสต์มาสอย่างน้อย 2 ต้นที่บ้านของคุณ ดังนั้นความท้าทายของคุณคือได้รับจำนวน1 < nส่งออกจำนวนที่สอดคล้องกันของไฟคริสต์มาสที่คุณกำลังจะถูกแขวนตามข้อกำหนดดังต่อไปนี้ ... นี่คือโครงสร้างของไฟคริสต์มาสขั้นพื้นฐาน: _?_ [___] /:' \ |:: | \::. / \::./ '=' ส่วนที่ไม่แน่นอนเพียงอย่างเดียวคือเครื่องหมายคำถามขึ้นอยู่กับว่าแสงส่องถึงจุดใดในโซ่การเชื่อมต่อจะแตกต่างกันอย่างมาก สำหรับแสงแรกในห่วงโซ่คุณจะต้องออก: .--._ _(_ [___] /:' \ |:: | \::. / \::./ '=' สำหรับแสงสุดท้ายในห่วงโซ่คุณจะต้องเอาท์พุท: _.--. _)_ [___] /:' \ |:: | \::. / \::./ '=' และสำหรับแสงสว่างทั้งหมดที่อยู่ตรงกลาง: _.--.--._ _Y_ [___] …

30
เคล็ดลับการตีกอล์ฟในจาวา
มีทางลัดที่มีประโยชน์ใด ๆ ที่สามารถใช้ได้ใน Java หรือไม่? ดังที่แสดงด้านล่างimportเพิ่มอย่างน้อย 17 อักขระในโปรแกรม import java.io.*; ฉันเข้าใจว่าวิธีแก้ปัญหาง่าย ๆ คือการใช้ภาษาอื่น แต่ดูเหมือนจะเป็นความท้าทายที่แท้จริงในการย่อโปรแกรม Java ให้สั้นลง เคล็ดลับควรมีความเฉพาะเจาะจงกับ Java: หากพวกเขาสามารถใช้ได้กับภาษาที่เหมือน C ส่วนใหญ่พวกเขาจะอยู่ในรายการเคล็ดลับทั่วไป
86 code-golf  tips  java 

25
หนูหิว
มีกองชีสจำนวนสิบหกกองวางอยู่บนพื้นที่ 4x4 พวกเขากำลังมีป้ายกำกับจากที่จะ16กองเล็กที่สุดคือและอีกคนหนึ่งที่ใหญ่ที่สุดคือ16111161616111161616 Hungry Mouse หิวมากจนมันพุ่งตรงไปยังกองที่ใหญ่ที่สุด (เช่น ) และกินทันที161616 หลังจากนั้นมันก็จะไปกองใกล้เคียงที่ใหญ่ที่สุดและกินมันเร็วเช่นกัน (ใช่ ... มันหิวจริงๆ ) และต่อ ๆ ไปจนกว่าจะไม่มีกองใกล้เคียงอีกต่อไป กองอาจมีมากถึง 8 เพื่อนบ้าน (แนวนอนแนวตั้งและแนวทแยงมุม) ไม่มีการพันรอบตัว ตัวอย่าง เราเริ่มต้นด้วยกองชีสต่อไปนี้: 3615147891101211165134237105681213159114141162\begin{matrix} 3&7&10&5\\ 6&8&12&13\\ 15&9&11&4\\ 14&1&16&2 \end{matrix} หิวเมาส์แรกกินและจากนั้นกองเพื่อนบ้านที่ใหญ่ที่สุดซึ่งเป็น11161616111111 36151478911012🐭↑5134237105681213159🐭4141↑2\begin{matrix} 3&7&10&5\\ 6&8&12&13\\ 15&9&🐭&4\\ 14&1&\color{grey}\uparrow&2 \end{matrix} การเคลื่อนไหวครั้งต่อไปคือ , , , , , , , ,และตามลำดับที่แน่นอนนี้131313121212101010888151515141414999666777333 🐭↗↓↗←↙↖1↙↑↗↑5←42🐭←↙5↗↙↑←↓↖↗4↗1↑2\begin{matrix} 🐭&\color{grey}\leftarrow&\small\color{grey}\swarrow&5\\ \small\color{grey}\nearrow&\small\color{grey}\swarrow&\color{grey}\uparrow&\color{grey}\leftarrow\\ \color{grey}\downarrow&\small\color{grey}\nwarrow&\small\color{grey}\nearrow&4\\ …
85 code-golf  matrix 

30
สร้างผลลัพธ์สองเท่าของความยาวของรหัส
ความท้าทาย เขียนโปรแกรมที่สมบูรณ์ที่เขียนสองไบต์จำนวนมากไปยังเอาต์พุตมาตรฐานตามความยาวของโปรแกรม กฎระเบียบ โปรแกรมต้องเขียนอักขระ ASCII ไปยังเอาต์พุตมาตรฐาน เนื้อหาของผลลัพธ์ไม่สำคัญ เอาท์พุทวัดในไบต์จะต้องตรงสองครั้งความยาวของโปรแกรมยังวัดในไบต์เว้นแต่คุณจะตอบสนองความโบนัส บรรทัดใหม่ที่ต่อท้ายจะรวมอยู่ในจำนวนไบต์ของเอาต์พุต โบนัส โปรแกรมของคุณสามารถเลือกใช้ตัวเลขnเป็นตัวเลือก ถ้าเป็นเช่นนั้นเอาท์พุทจะต้องเป็นn * program lengthไบต์ที่แน่นอน คุณสามารถสันนิษฐานได้ว่าnจะเป็นจำนวนเต็มบวกเสมอ หากไม่มีการป้อนข้อมูลจะnต้องมีค่าเริ่มต้นเป็น 2 หากคุณทำเช่นนี้คุณสามารถลบ 25 ไบต์จากคะแนนของคุณ โปรแกรมที่สั้นที่สุดชนะ ข้อ จำกัด ไม่มีช่องโหว่มาตรฐาน โปรแกรมต้องมีความยาวอย่างน้อย 1 ไบต์ ไม่มีการเพิ่มช่องว่างที่ไม่จำเป็นในซอร์สโค้ดเพื่อเปลี่ยนความยาว ในทำนองเดียวกันความคิดเห็นจะไม่ถูกนับ หากคุณไม่ได้รับโบนัสโปรแกรมจะต้องไม่รับอินพุต หากคุณเติมเต็มโบนัสจะต้องเป็นจำนวนเต็มเท่านั้น คะแนนต่ำสุด (ความยาวของโปรแกรมเป็นไบต์ - โบนัส) ชนะ คำตอบที่สั้นที่สุดสำหรับแต่ละภาษาจะชนะสำหรับภาษานั้น ลีดเดอร์ นี่คือ Stack Snippet เพื่อสร้างทั้งกระดานผู้นำปกติและภาพรวมของผู้ชนะตามภาษา เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้: # Language Name, N …

28
ข้อความยุบตัวในแนวตั้ง
ว่าฉันมีข้อความเช่นนี้ (แต่ละคำในหนึ่งบรรทัดโดยไม่มีช่องว่าง) Programming Puzzles & Code Golf ไม่สมเหตุสมผล! มันท้าทายกฎของฟิสิกส์โดยสิ้นเชิง ความท้าทายของคุณคือการแก้ไขสถานการณ์ที่เป็นไปไม่ได้นี้และยุบข้อความเช่น: P Prog &uzz Coderam Golflesming เพื่อให้ไม่มีที่ว่างใต้อักขระใด ๆ แต่ตัวละครยังคงอยู่ในลำดับแนวตั้ง เป้าหมายคือเพื่อตอบสนองความต้องการ แต่ใช้ไบต์ที่น้อยที่สุดของซอร์สโค้ดที่เป็นไปได้

30
ตรวจสอบว่าสายอักขระเป็น anagrams
ท้าทาย รับสองสายงานถ้าพวกเขาทั้งสองมีตัวอักษรเหมือนกันในพวกเขา ตัวอย่าง อินพุต คำ, wrdo ผลตอบแทนนี้trueเพราะพวกเขาเหมือนกัน แต่มีสัญญาณรบกวนเพียงอย่างเดียว อินพุต คำ wwro ผลตอบแทนfalseนี้ อินพุต เรือยาสูบ ผลตอบแทนนี้ true กฎระเบียบ นี่คือกฎ! สมมติว่าอินพุตจะมีความยาวอย่างน้อย 1 อักขระและไม่เกิน 8 ตัวอักษร ไม่มีตัวอักษรพิเศษเท่านั้นa-z อินพุตทั้งหมดสามารถสันนิษฐานได้ว่าเป็นตัวพิมพ์เล็ก กรณีทดสอบ boat, boat = true toab, boat = true oabt, toab = true a, aa = false zzz, zzzzzzzz = false zyyyzzzz, yyzzzzzy = true …

30
โปรแกรมแมวง่าย ๆ
หนึ่งในภารกิจมาตรฐานที่พบบ่อยที่สุด (โดยเฉพาะอย่างยิ่งเมื่อแสดงภาษาการเขียนโปรแกรมที่ลึกลับ) คือการใช้"โปรแกรมแมว" : อ่าน STDIN ทั้งหมดและพิมพ์ไปยัง STDOUT แม้ว่าสิ่งนี้จะตั้งชื่อตามยูทิลิตี้เชลล์ Unix catแต่ก็มีประสิทธิภาพน้อยกว่าของจริงมากซึ่งโดยปกติจะใช้ในการพิมพ์ (และเชื่อมต่อ) หลายไฟล์ที่อ่านจากแผ่นดิสก์ งาน คุณควรเขียนโปรแกรมเต็มรูปแบบที่อ่านเนื้อหาของอินพุตสตรีมมาตรฐานและเขียนคำต่อคำลงในเอาต์พุตสตรีมมาตรฐาน หากและหากภาษาของคุณไม่รองรับอินพุตมาตรฐานและ / หรือกระแสข้อมูลออก (ตามที่เข้าใจในภาษาส่วนใหญ่) คุณสามารถใช้คำเหล่านี้เพื่อหมายถึงภาษาที่ใกล้เคียงที่สุดในภาษาของคุณ (เช่น JavaScript promptและalert) นี่เป็นเพียงรูปแบบที่ยอมรับได้ของ I / O เนื่องจากอินเตอร์เฟสอื่น ๆ ส่วนใหญ่จะเปลี่ยนลักษณะของงานและให้คำตอบที่เทียบเคียงได้น้อยกว่ามาก เอาท์พุทควรมีตรงเข้าและไม่มีอะไรอื่น ข้อยกเว้นสำหรับกฎนี้เท่านั้นคือเอาต์พุตแบบคงที่ของล่ามภาษาของคุณที่ไม่สามารถระงับได้เช่นคำทักทายรหัสสี ANSI หรือการเยื้อง นอกจากนี้ยังใช้กับการขึ้นบรรทัดใหม่ หากอินพุตไม่มีบรรทัดขึ้นต่อท้ายเอาต์พุตไม่ควรรวมหนึ่งบรรทัด! (ข้อยกเว้นเพียงอย่างเดียวคือถ้าภาษาของคุณพิมพ์บรรทัดใหม่ที่ต่อท้ายเสมอหลังการดำเนินการ) เอาต์พุตไปยังสตรีมข้อผิดพลาดมาตรฐานจะถูกละเว้นตราบใดที่เอาต์พุตสตรีมมาตรฐานมีเอาต์พุตที่คาดหวัง โดยเฉพาะอย่างยิ่งนี่หมายความว่าโปรแกรมของคุณสามารถยุติด้วยข้อผิดพลาดเมื่อกดจุดสิ้นสุดของสตรีม (EOF) โดยที่ไม่ทำให้เกิดมลพิษต่อสตรีมเอาต์พุตมาตรฐาน หากคุณทำเช่นนี้ฉันขอแนะนำให้คุณเพิ่มเวอร์ชันที่ปราศจากข้อผิดพลาดในคำตอบของคุณด้วย (สำหรับการอ้างอิง) เนื่องจากนี่เป็นความท้าทายในแต่ละภาษาและไม่ใช่ระหว่างภาษาจึงมีกฎเฉพาะบางภาษา: หากเป็นไปได้ในภาษาของคุณที่จะแยกแยะโมฆะ null ในสตรีมอินพุตมาตรฐานจาก EOF โปรแกรมของคุณจะต้องสนับสนุน null …
84 code-golf  string 

30
ฉันใช้เวลานานมากในการทำสิ่งนี้ (ความเห็นของ YouTube # 1)
เดี๋ยวก่อน ..... นี่มันไม่ได้หลอกเลย พื้นหลัง วันนี้บน YouTube ส่วนความคิดเห็นจะเกลื่อนไปด้วยรูปแบบดังกล่าว: S St Str Stri Strin String Strin Stri Str St S ที่Stringเป็นตัวยึดตำแหน่งเพียงและหมายถึงการรวมกันของตัวละครใด ๆ รูปแบบเหล่านี้มักจะมาพร้อมกับIt took me a lot of time to make this, pls likeหรืออะไรบางอย่างและบ่อยครั้งที่ OP ประสบความสำเร็จในการสะสมจำนวนไลค์ งาน แม้ว่าคุณจะมีความสามารถที่ยอดเยี่ยมในการสะสมผู้ติดตามบน PPCG ด้วยทักษะการเล่นกอล์ฟที่มีเสน่ห์ของคุณ แต่คุณก็ไม่ได้เป็นตัวเลือกอันดับต้น ๆ สำหรับการพูดอย่างมีไหวพริบหรือการอ้างอิงในส่วนแสดงความคิดเห็นของ YouTube ดังนั้นความคิดเห็นเชิงสร้างสรรค์ของคุณที่เกิดขึ้นจากความคิดโดยเจตนาจะรวบรวม 'ไม่ชอบ' ไว้ใน YouTube เพียงเล็กน้อย คุณต้องการให้สิ่งนี้เปลี่ยนแปลง ดังนั้นคุณต้องสร้างรูปแบบความคิดโบราณที่กล่าวมาข้างต้นเพื่อให้บรรลุเป้าหมายสูงสุด แต่ไม่ต้องเสียเวลาพยายามเขียนด้วยตนเอง …

30
พิมพ์รหัสของคุณย้อนกลับ - ย้อนกลับ quine
จงเขียนโปรแกรมที่พิมพ์รหัสที่มาของตัวเองออกมาจากข้างหลังในคำอื่น ๆ อีกด้วยeniuq เกณฑ์การให้คะแนน: +50 ถ้าคุณใช้ดึงข้อมูลจากอินเทอร์เน็ต +25 ถ้าคุณอ่านซอร์สโค้ดของคุณเอง +1 แต้มต่อตัวละคร คะแนนต่ำสุดชนะ กฎ: ไม่ใช้ไฟล์อื่น (เช่นreverse.txt) ความยาวรหัสขั้นต่ำคือสองอักขระ โปรแกรมของคุณต้องไม่เป็นแบบ palindrome
83 code-golf  quine 

30
ปิดคอมพิวเตอร์!
ท้าทาย: ในภาษาการเขียนโปรแกรมที่คุณเลือกให้ปิดเครื่องที่ใช้รหัสของคุณ กฎระเบียบ ไม่มีการปิดตัวลงด้วยความอ่อนล้าของทรัพยากร (เช่น: forkbomb เพื่อบังคับให้ปิดระบบ) คุณได้รับอนุญาตให้เขียนโค้ดที่ทำงานในสภาพแวดล้อม / OS เฉพาะหากคุณต้องการ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม นี่คือโค้ดกอล์ฟซึ่งจำนวนไบต์ต่ำสุดชนะ!

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