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

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

13
ทอยลูกเต๋าและดันเจี้ยนมังกร
ฉันต้องการเล่น Dungeons and Dragons แต่ฉันไม่มีลูกเต๋า! ความท้าทายของคุณคือหมุนลูกเต๋า D&D ข้อมูลจำเพาะรูปแบบอินพุตในรูปแบบBackus-Naurคือ: <valid-input> ::= <opt-integer> "d" <integer> <opt-modifier> <opt-integer> ::= | <integer> <opt-modifier> ::= | "+" <integer> <integer> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | <integer> <integer> จำนวนเต็มเพิ่มเติมก่อนที่dจะเป็นจำนวนของลูกเต๋าที่จะม้วน; อย่างน้อยจะต้องเป็น1ค่าเริ่มต้น1หากไม่ได้ระบุไว้ จำนวนเต็มที่ต้องการทันทีหลังจากdคือจำนวนของแต่ละด้านที่มี …
20 code-golf  random 

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

6
ค้นหาตัวละครที่แปลกออกมาในรูปแบบ
อินพุต บรรทัดแรกจะเป็นสตริงที่แน่นอนซ้ำจำนวนเท่าใดก็ได้ ยกตัวอย่างเช่นมันอาจจะเป็นabcabcabcabc, [];[];[];ฯลฯ มันอาจถูกตัดออก; ตัวอย่างเช่น: 1231231231. ค้นหาสตริงที่สั้นที่สุดเสมอ ตัวอย่างเช่นถ้าสาย22222แล้วสตริง2ไม่22หรือ22222หรือสิ่งอื่นใด สตริงจะถูกทำซ้ำอย่างน้อย 2 ครั้งเต็มเสมอ บรรทัดถัดมาทั้งหมดจะเป็นรูปแบบนั้นหักล้างด้วยจำนวนใด ๆ ตัวอย่างเช่นอาจเป็น: abcabcabc cabcabcab bcabcabca (ชดเชยด้วย 1) หรืออาจเป็น: abcdefabcdefabcdefabc cdefabcdefabcdefabcde efabcdefabcdefabcdefa (ชดเชยด้วย 4) อักขระหนึ่งตัวในอินพุตจะผิด (ไม่รับประกันว่าจะอยู่ในบรรทัดแรก) ตัวอย่างเช่นในอินพุตนี้: a=1a=1a=1 =1a=1a=1a 1a=11=1a= a=1a=1a=1 =1a=1a=1a 1ในบรรทัดที่ 3 เป็นที่แปลกออก เอาท์พุต คุณต้องส่งออกพิกัด (อิงจากศูนย์เริ่มจากซ้ายบน) ของเลขคี่ออก 4,2ยกตัวอย่างเช่นในการป้อนข้อมูลข้างต้นแสดงผลที่สอดคล้องกันคือ คุณยังสามารถส่งออก4 2หรือ"4""2"หรือแม้กระทั่ง[[4],[2]]หรือรูปแบบอื่น ๆ ตราบใดที่คุณสามารถบอกได้ว่าสิ่งที่ควรจะเป็น กรณีทดสอบ การป้อนข้อมูล: codegolfcodegolfco egolfcodegolfcodeg …
20 code-golf 

3
JSFuck Golf - สวัสดีชาวโลก
JSFuckเป็นภาษาลึกลับที่สามารถใช้ซ้ำคำสั่ง Javascript ใด ๆ ในโปรแกรม Javascript ที่ถูกต้องที่ใช้อักขระ 6 ตัว[]()!+เท่านั้น ตัวแปลง JSFuck เมื่อกำหนดอินพุตalert("Hello World!")ให้สร้างบล็อกของรหัสที่มีความยาว 22,948 อักขระ เนื่องจากโปรแกรมใช้การแปลงอัตโนมัติจำนวนมากเพื่อสร้างบล็อกนั้นฉันเชื่อว่ารหัสสามารถสั้นลงได้มากโดยใช้การปรับให้เหมาะสมด้วยตนเอง งานของคุณคือการสร้างโปรแกรมจาวาสคริปต์ที่ดำเนินงานalert("Hello World!")โดยใช้ตัวอักษร[]()!+เท่านั้น รหัสที่สั้นที่สุดที่จะทำเช่นนั้นชนะ

30
สร้างลำดับของRecamán
ลำดับของRecamán ( A005132 ) เป็นลำดับทางคณิตศาสตร์ที่กำหนดดังนี้: A(0) = 0 A(n) = A(n-1) - n if A(n-1) - n > 0 and is new, else A(n) = A(n-1) + n เวอร์ชัน LaTex ด้านบน (อาจอ่านได้มากกว่า): A(n)=⎧⎩⎨0A(n−1)−nA(n−1)+nif n=0if A(n−1)−n is positive and not already in the sequenceotherwiseA(n)={0if n=0A(n−1)−nif A(n−1)−n is positive and not already …

17
ให้ตรีโกณมิติเริ่มต้น!
บทนำ: ไซน์ของxจะได้รับจากสูตร: sin(x) = x - x^3/3! + x^5/5! - x^7/7! + x^9/9! - x^11/11! // and more follows... โคไซน์ของxจะได้รับจากสูตร: cos(x) = 1 - x^2/2! + x^4/4! - x^6/6! + x^8/8! - x^10/10! // and more follows... งาน: รับค่าของxและnเขียนโปรแกรม (ไม่มีฟังก์ชั่น ฯลฯ ) เพื่อส่งออกค่าsin(x)และcos(x)แก้ไขnข้อตกลงของสูตรข้างต้น สมมติว่าxเป็นเรเดียน การป้อนข้อมูล: x n จำนวนทศนิยมx(มีไม่เกิน 3 ตำแหน่งทศนิยม) …
20 code-golf  math 

2
วาดกาน้ำชายูทาห์
กาน้ำชายูทาห์ , เดิมสร้างโดยมาร์ตินนีเวลล์เป็นวัตถุที่สะดวกสำหรับการทดสอบโปรแกรมกราฟิก 3D ภารกิจคือการสร้างภาพโครงร่างของกาน้ำชาในการประมาณการมุมมอง เพื่อสนับสนุนแนวคิดของแอปพลิเคชันซอร์สโค้ดการควบคุมการดูและกล้องอาจถูกแยกและแยกออกจากการนับ นี่คือเพื่อให้พารามิเตอร์และไฟล์อินพุตอาจถูกแก้ไขและรหัสถูกนำมาใช้ใหม่เพื่อสร้างภาพที่หลากหลาย แต่ไม่จำเป็นต้องสร้างยูทิลิตี้แบบเต็มรูปแบบที่ยอมรับอาร์กิวเมนต์บรรทัดคำสั่งที่ซับซ้อนหรือเช่นนั้น ค้นหายอดเงินที่ "แฮ็กเกอร์" อ้าง StackOverflow: Bezier patches ทำงานใน Utah Teapot อย่างไร มีงานย่อยสามงานที่นี่: อ่านในข้อมูลกาน้ำชาในของรูปแบบเดิม แบ่งย่อยข้อมูลแพตช์โดยใช้การแยก deCasteljau หรือวิธีอื่น วิธีอื่นกำลังใช้เมทริกซ์พื้นฐานของ Bezier และประเมินชื่อพหุนาม (refs มาตรฐานเช่น Foley และ van Dam, Newmann และ Sproull) หรือวิธีพื้นฐานของ Bernstein (ซึ่งยังเกินฉัน) ฉายจุดไปที่ 2D (ถ้าภาษาไม่รองรับ 3D แบบดั้งเดิม) และวาดโครงร่างของแพทช์เล็ก ๆ แต่ละอันที่เห็นจากจุดตาที่มีมุมมองอยู่กึ่งกลางบนจุด LookAt และแกนแนวตั้งอยู่ในแนวแกนของกาน้ำชา (เช่นวาดมัน "ตั้งตรง" …

9
ค้นหายุค Pisano
ลำดับฟีโบนักชีเป็นลำดับที่รู้จักกันดีซึ่งในแต่ละรายการคือผลรวมของก่อนหน้านี้สองและสองรายการแรกที่มี 1. ถ้าเราใช้แบบโมดูโลของแต่ละระยะโดยคงลำดับจะกลายเป็นระยะ ๆ ตัวอย่างเช่นถ้าเราตัดสินใจที่จะคำนวณลำดับ mod 7 เราจะได้รับต่อไปนี้: 1 1 2 3 5 1 6 0 6 6 5 4 2 6 1 0 1 1 ... นี่คือช่วงเวลาของ 16 ลำดับที่เกี่ยวข้องเรียกว่าลำดับ Pisanoถูกกำหนดเช่นนั้นa(n)คือช่วงเวลาของลำดับ fibonacci เมื่อคำนวณแบบโมดูโล n งาน คุณจะควรจะเขียนโปรแกรมหรือฟังก์ชั่นที่เมื่อได้รับจะคำนวณและการส่งออกระยะเวลาของลำดับฟีโบนักชีพอควรn nนั่นคือคำที่ n ในลำดับ Pisano คุณจะต้องสนับสนุนจำนวนเต็มในช่วงเท่านั้น 0 < n < 2^30 นี่คือการแข่งขันรหัส - กอล์ฟดังนั้นคุณควรตั้งเป้าหมายลดขนาดซอร์สโค้ดของคุณตามจำนวนไบต์ กรณีทดสอบ …

4
ค้นหา Hull Convex จากชุดของจุด 2D
เมื่อคุณค้อนชุดของเล็บเป็นไม้กระดานและห่อยางรัดรอบตัวพวกเขาคุณจะได้รับฮัลล์นูน ภารกิจของคุณหากคุณตัดสินใจที่จะยอมรับมันคือการหาเรือนูนของชุดคะแนน 2D ที่กำหนด กฎบางอย่าง: เขียนเป็นฟังก์ชันพิกัดรายการของจุด (ในรูปแบบที่คุณต้องการ) เป็นอาร์กิวเมนต์ ผลลัพธ์จะต้องเป็นรายการของจุดในตัวเรือตามรายการทวนเข็มนาฬิกาหรือทวนเข็มนาฬิกาเริ่มต้นที่ใด ๆ ของพวกเขา รายการเอาท์พุทสามารถอยู่ในรูปแบบที่เหมาะสมซึ่งพิกัดของแต่ละจุดมีความแตกต่างอย่างชัดเจน (ตัวอย่างเช่นไม่ใช่หนึ่งรายการสลัว {0.1, 1.3, 4, ... }) หากจุดสามจุดขึ้นไปในส่วนของตัวเรือนูนอยู่ในแนวเดียวควรเก็บสองสุดยอดไว้บนเอาท์พุท ข้อมูลตัวอย่าง: ตัวอย่างที่ 0 การป้อนข้อมูล: {{1, 1}, {2, 2}, {3, 3}, {1, 3}} เอาท์พุท: {{3, 3}, {1, 3}, {1, 1}} (ตัวเลขเป็นเพียงตัวอย่างเท่านั้น) ตัวอย่างที่ 1 การป้อนข้อมูล: {{4.4, 14}, {6.7, 15.25}, {6.9, 12.8}, {2.1, 11.1}, …

10
ใช้ประโยชน์จาก "ช่องว่างฟรี"
สมมติว่าการท้าทาย codegolf ไม่นับช่องว่างตามความยาวของโปรแกรม โกงระบบนี้โดยการเข้ารหัสสคริปต์ของคุณลงในช่องว่างและกอล์ฟสคริปต์ที่ถอดรหัสและดำเนินการช่องว่างที่ฝังตัว ตัวอย่าง ทางออกของJBernardo 's Meta Golf Challengeคือการเข้ารหัสรหัส Sage (หรือ Python) ลงในช่องว่างและถอดรหัสถอดรหัส s = ' ' for c in '<lots of whitespace>'.split(s): s+=chr(len(c)) exec s การเข้ารหัสคือการใช้สคริปต์เพิ่มบรรทัดใหม่และสำหรับอักขระแต่ละตัวcในสคริปต์ord(c)แท็บเอาต์พุตตามด้วยช่องว่าง การเตรียมการขึ้นบรรทัดใหม่เป็นสิ่งจำเป็นเนื่องจากฉันใช้ Python และฉันเริ่มสคริปต์sด้วยการเว้นวรรค เกณฑ์การให้คะแนน โซลูชันที่สมบูรณ์ประกอบด้วยคำอธิบายของการเข้ารหัสที่คุณใช้ (หากซับซ้อนให้สคริปต์) และสคริปต์ 'ถอดรหัสและเรียกใช้งาน' คะแนนของคุณคือจำนวนอักขระที่ไม่ใช่ช่องว่างในสคริปต์ถอดรหัสและเรียกใช้งาน ห้ามเว้นวรรค (ภาษา) นอกจากนี้ภาษาใด ๆ ที่มีชุดตัวดำเนินการที่สมบูรณ์ซึ่งใช้เฉพาะอักขระช่องว่างไม่ได้รับอนุญาต: ฉันจะยอมรับคะแนนที่ไม่ใช่ศูนย์ต่ำที่สุด

14
เขียนโปรแกรมการเข้ารหัส Playfair
เขียนโปรแกรมที่รับอินพุตสองบรรทัดและใช้คำแรกเป็นวลีสำคัญในการเข้ารหัสรายการที่สองตามเทคนิคการเข้ารหัสของ Playfair Wikipedia อธิบายการเข้ารหัส Playfair ในรายละเอียดบางอย่างแต่เพื่อหลีกเลี่ยงความคลุมเครือใด ๆ ต่อไปนี้เป็นบทสรุปโดยย่อ: 1. สร้างตารางคีย์: แทนที่การเกิดขึ้นทั้งหมดJในวลีคีย์ด้วยIจากนั้นตัดอักขระที่ไม่ใช่ตัวอักษรทั้งหมดและอักขระซ้ำ แทรกลงในตารางการเข้ารหัส 5 × 5 เติมเซลล์ที่เหลือด้วยตัวอักษรที่เหลือ (ยกเว้นJ; เราไม่ชอบJ) ตัวอย่าง: S T A C K O V E R F Stack Overflow --> STACKOVERFLW --> L W B D G H I M N P Q U X Y Z 2. …

30
เรียกใช้การถอดรหัสความยาว
เขียนรหัสที่สั้นที่สุดในภาษาที่คุณเลือกเพื่อทำการถอดรหัสการรันความยาวของสตริงที่กำหนด สตริงจะถูกป้อนเป็นอินพุตใน stdinในแบบฟอร์ม CNCNCNCNCNCNCNCN โดยที่แต่ละตัวCอาจเป็นอักขระ ASCII ที่พิมพ์ได้และแต่ละตัวNนั้นเป็นตัวเลข1ถึง9(รวม) ตัวอย่างอินพุต: :144,1'1 ผลลัพธ์ที่สอดคล้องกัน: :4444,'
20 code-golf  string 

13
ใช้ Brute Force Sudoku Solver
ใช้ตัวแก้ Sudoku ที่สั้นที่สุดโดยใช้การเดา เนื่องจากฉันได้รับคำขอไม่กี่ครั้งฉันจึงได้เพิ่มสิ่งนี้เป็นคำถามทางเลือกสำหรับผู้ที่ต้องการใช้งานตัวแก้แรงซูโดกุ ปริศนา Sudoku: | 1 2 3 | 4 5 6 | 7 8 9 -+----------------------- A| 3 | 1 | B| 6 | | 5 C| 5 | | 9 8 3 -+----------------------- D| 8 | 6 | 3 2 E| | 5 | F| 9 …

30
ความคงทนต่อสารเติมแต่ง
รหัสที่สั้นที่สุดในการส่งผ่านความเป็นไปได้ทั้งหมดชนะ ในคณิตศาสตร์การคงอยู่ของตัวเลขจะวัดจำนวนครั้งที่การดำเนินการบางอย่างจะต้องนำไปใช้กับตัวเลขจนกว่าจะถึงเงื่อนไขคงที่ที่แน่นอน คุณสามารถกำหนดความคงทนเพิ่มเติมของจำนวนเต็มบวกโดยการเพิ่มตัวเลขของจำนวนเต็มและทำซ้ำ คุณจะต้องเพิ่มตัวเลขของผลรวมจนกว่าจะพบตัวเลขหนึ่งหลัก จำนวนการทำซ้ำที่ใช้ไปถึงตัวเลขหลักเดียวคือการคงอยู่ของหมายเลขนั้น ตัวอย่างการใช้ 84523: 84523 8 + 4 + 5 + 2 + 3 = 22 2 + 2 = 4 It took two repetitions to find the single digit number. So the additive persistence of 84523 is 2. คุณจะได้รับลำดับของจำนวนเต็มบวกที่คุณต้องคำนวณการคงอยู่ของ แต่ละบรรทัดจะมีจำนวนเต็มที่แตกต่างกันในการประมวลผล อินพุตอาจอยู่ในวิธีการI / O มาตรฐานใดๆ สำหรับแต่ละจำนวนเต็มคุณต้องส่งออกจำนวนเต็มตามด้วยช่องว่างเดียวตามด้วยการคงอยู่ของสารเติมแต่ง จำนวนเต็มแต่ละค่าที่ประมวลผลต้องอยู่ในบรรทัดของตัวเอง …

15
รหัสสั้นที่สุดที่จะทำให้เกมต่ำเกินไป - สูงเกินไป
คุณต้องสร้างเกมต่ำเกินไป --- สูงเกินไป (TLTH) ในรหัสที่สั้นที่สุด (เป็นไบต์) กฎของเกม: คอมพิวเตอร์จะเลือกตัวเลขสุ่มจากช่วงจำนวนเต็ม (-32768 ..32767) ตอนนี้คุณจะคิดถึงตัวเลขและใส่เข้าไป คอมพิวเตอร์จะบอกว่าหมายเลขของคุณต่ำกว่า ( TOO LOW) หรือสูงกว่า ( TOO HIGH) มากกว่าหมายเลขที่เลือกหรือไม่ เมื่อคุณเดาหมายเลขคอมพิวเตอร์ควรแสดงCongrats! You found the number!ขึ้น กฎของรหัส: อย่าใช้ตัวละครT, O, L, W, H, IและG(ค่าตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่) ในสตริงหรือตัวอักษรตัวอักษร ตัวอย่างเช่น tolower(T); // Acceptable cout<<"T"; // Unacceptable char ch='T'; // Unacceptable ลบ 300 ไบต์หากรหัสของคุณสามารถแสดงกฎของเกมก่อนเริ่มเกม ลบ 50 ไบต์หากรหัสของคุณสามารถนับจำนวนรอบและแสดงจำนวนรอบในตอนท้ายเกมดังนี้: …
20 code-golf 

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