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

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

2
การบีบอัดสูตรบูลีน
วากยสัมพันธ์ ~ไม่ /\และ \/หรือ tจริง fเท็จ P, Q, FISHฯลฯ : ตัวแปร (ผู้ประกอบการจะได้รับตามลำดับความสำคัญ) บทนำ บางสูตรบูลีนสามารถเปลี่ยนเป็นรูปแบบที่แตกต่างกันเพื่อให้สั้นลง ตัวอย่างเช่นสูตร ~(~P /\ ~Q) สามารถเปลี่ยนเป็นแบบสั้น P\/Q ในขณะที่สูตร P \/ ~P สามารถเปลี่ยนเป็นแบบสั้น t ท้าทาย ในความท้าทายนี้คุณจะต้องเขียนโปรแกรมที่ได้รับสูตรบูลใด ๆ โดยใช้เพียง/\, \/, ~, t, fวงเล็บตัวแปรบูลีน (ตัวพิมพ์ใหญ่) และช่องว่างเอาท์พุทเป็นรูปแบบที่สั้นที่สุด (เนื่องจากอาจมีมากกว่าหนึ่งรูปแบบที่สั้นที่สุด ) ในลักษณะของนิพจน์นั้นซึ่งเทียบเท่ากับการกำหนดตัวแปรทั้งหมด รหัสที่สั้นที่สุด (ในภาษาใด ๆ ) ชนะ I / O สามารถทำได้ในลักษณะที่สมเหตุสมผล นอกจากนี้เนื่องจากคำตอบนั้นยากต่อการตรวจสอบจึงเป็นประโยชน์ (แต่ไม่จำเป็น) …

2
Slot Machine Hacker
ปัญหา: Slot Machine Hacker จากFacebook Hacker Cup 2011 Round 1B เป้าหมาย: รหัสสั้นที่สุดในภาษาที่คุณโปรดปรานโดยใช้ stdin / stdout คุณไม่สามารถสันนิษฐานได้ว่าgetRandomNumberมีการกำหนดเช่นโซลูชันของคุณต้องรวมเวอร์ชัน golfed ที่อาจเกิดขึ้นเป็นฟังก์ชันหรือด้วยวิธีอื่น โซลูชันอ้างอิง: บน SO [ฉันเลือกของฉันเพราะใช้ stdin / stdout และฉันไม่แน่ใจเกี่ยวกับโซลูชันของ dave] ข้อความปัญหามีดังนี้: คุณเพิ่งเป็นเพื่อนกับคนที่เขียนซอฟต์แวร์สำหรับเครื่องสล็อต หลังจากออกไปเที่ยวกับเขาซักพักคุณจะสังเกตเห็นว่าเขามีความชอบในการแสดงความรู้เกี่ยวกับการทำงานของเครื่องสล็อต ในที่สุดคุณจะให้เขาอธิบายรายละเอียดที่แม่นยำเกี่ยวกับอัลกอริธึมที่ใช้กับเครื่องจักรเฉพาะยี่ห้อ อัลกอริทึมมีดังนี้: int getRandomNumber() { secret = (secret * 5402147 + 54321) % 10000001; return secret % 1000; } ฟังก์ชันนี้คืนค่าตัวเลขจำนวนเต็มเป็น …
17 code-golf 

13
คำนวณก้อนหินกลิ้งลงเขา
บทนำ Sisyphus มีปัญหาในการทำงานเมื่อเร็ว ๆ นี้ ดูเหมือนว่าเขาจะไม่ทำอะไรเลยและเขาก็รักที่จะหาทางแก้ไขปัญหานี้ การจ้างงานในปัจจุบันของเขาต้องการหินกลิ้งขึ้นเขา เขามักจะทำงานของเขาได้ดี แต่ทุกครั้งที่เขาอยู่ใกล้จุดสูงสุดของเนินเขามันจะกลิ้งลงมาอีกครั้ง เขารู้สึกหงุดหงิดกับงานของเขามากและต้องการแก้ปัญหาทางวิทยาศาสตร์โดยให้คอมพิวเตอร์จำลองก้อนหินกลิ้งลงมาจากเนินเขา มันเกิดขึ้นแล้วที่ซิสฟีฟไม่ดีในการเขียนโปรแกรมเป็นพิเศษดังนั้นบางทีคุณสามารถช่วยเขาออกมาได้? ความท้าทาย หลังจากการแนะนำที่ไร้สาระนี้เรามาทำธุรกิจ โปรแกรมของคุณจะได้รับภาพประกอบของเนินเขาและก้อนหินซึ่งมีลักษณะคล้ายกับนี้: #o ## ### ###### ######## ซึ่ง#เป็นส่วนหนึ่งของเนินเขาและoเป็นตัวแทนของหิน ตอนนี้คุณต้องใช้โปรแกรมที่เคลื่อนเลเยอร์ 1 ลงมา ตัวอย่างเช่นผลลัพธ์ข้างต้นควรเป็น: # ##o ### ###### ######## หากมีพื้นที่ในแนวนอนเขาจะม้วนในแนวนอนดังนั้น ... o ######## ... นี่จะทำให้หินกลิ้งไปด้านข้าง o ######## หากมีพื้นที่แนวตั้งหินจะตกลงไปหนึ่งขั้นดังนั้น ... #o # # ##### ... จะให้ผล ... # #o # ##### …
17 code-golf 

1
การเชื่อมต่อที่มีประสิทธิภาพ
บทนำ มีสวนที่กำหนดโดยคณะกรรมการสี่เหลี่ยมจัตุรัสขนาดใหญ่เช่นนี้ ตัวเลขภายในสี่เหลี่ยมจัตุรัสเล็ก ๆ แต่ละอันแทนค่า / เงินสด / พื้นที่ของ ... ชาวนาต้องการความช่วยเหลือในการหาสี่เหลี่ยมNที่เชื่อมโยงกัน(นั่นหมายถึงสี่เหลี่ยม N ทั้งหมดควรมีเส้นขอบที่ใช้ร่วมกันอย่างน้อยหนึ่งเส้น)ให้คุณค่าที่ยิ่งใหญ่ที่สุดแก่เขา ตัวอย่างเช่น: หากแล้วออกจะต้องN=1140 ถ้าเป็นN=6เช่นนั้น .. เอาท์พุท ..the 315ต้อง ท้าทาย โปรแกรมของคุณ / ฟังก์ชั่นจะต้องใช้เวลาที่ค่าเมทริกซ์ของและจำนวนNเป็น input / ข้อโต้แย้งและการส่งออกจะต้องเชื่อมต่อที่มีประสิทธิภาพ 's คุ้มค่า ตั้งแต่นี้เป็นรหัสกอล์ฟคำตอบสั้นที่สุดในไบต์ชนะ! ตัวอย่าง การป้อนข้อมูล: 10 -7 11 7 3 31 33 31 2 5 121 15 22 -8 12 10 -19 43 …
17 code-golf  grid 

19
ประมาณจำนวน Dottie
รางวัลจะหมดอายุใน 6 วัน คำตอบสำหรับคำถามนี้มีสิทธิ์ได้รับ+100 ค่าชื่อเสียง Adámต้องการให้รางวัลคำตอบที่มีอยู่ : คำตอบที่ได้รับการอธิบายอย่างดีนี้เป็นคำตอบแรกใน APL ที่นี่ดังนั้นจึงเหมาะสำหรับความโปรดปรานนี้ จำนวน Dottieเป็นจุดคงที่ของฟังก์ชั่นโคไซน์หรือวิธีการแก้สมการcos (x) = x 1 งานของคุณคือการสร้างรหัสที่ใกล้เคียงกับค่าคงที่นี้ รหัสของคุณควรแสดงถึงฟังก์ชั่นที่ใช้จำนวนเต็มเป็นอินพุตและส่งออกจำนวนจริง ขีด จำกัด ของฟังก์ชันของคุณเมื่ออินพุตเพิ่มขึ้นควรเป็นหมายเลข Dottie คุณสามารถส่งออกเป็นเศษส่วนทศนิยมหรือการแสดงพีชคณิตของตัวเลข ผลลัพธ์ของคุณควรมีความแม่นยำโดยพลการลอยตัวและเป็นสองเท่าไม่เพียงพอสำหรับความท้าทายนี้ หากภาษาของคุณไม่สามารถใช้ตัวเลขที่มีความแม่นยำได้คุณจะต้องนำไปใช้หรือเลือกภาษาใหม่ นี่เป็นคำถามเกี่ยวกับรหัสกอล์ฟดังนั้นคำตอบจะได้คะแนนเป็นไบต์โดยมีจำนวนไบต์น้อยกว่าดีกว่า เคล็ดลับ วิธีหนึ่งในการคำนวณค่าคงที่คือการใช้ตัวเลขใด ๆ และนำโคไซน์มาใช้ซ้ำ ๆ เมื่อจำนวนของแอปพลิเคชันมีแนวโน้มที่จะไม่มีที่สิ้นสุดผลลัพธ์จึงมีแนวโน้มไปยังจุดคงที่ของโคไซน์ นี่คือการประมาณจำนวนที่ถูกต้องอย่างเป็นธรรม 0.739085133215161 1: ตรงนี้เราจะใช้โคไซน์เป็นเรเดียน

30
การสลับ“ ดี” และ“ ไม่ดี”
คำอธิบายการท้าทาย: เขียนโปรแกรมที่ขอให้ผู้ใช้ป้อนข้อมูล ผู้ใช้จะใส่หรือGood Badคุณไม่จำเป็นต้องรองรับอินพุตอื่น ๆ หากผู้ใช้เข้าสู่Goodพิมพ์Badและในทางกลับกัน (เพื่อ stdout ฯลฯ ) หมายเหตุ: 1)คุณไม่สามารถใช้คำสองคำอื่น ๆ 2)โปรแกรมของคุณต้องถามและพิมพ์ครั้งเดียวเท่านั้น 3)คุณไม่จำเป็นต้องแสดงข้อความแจ้ง 4)ผลลัพธ์จะต้องปรากฏแยกออกจากอินพุตด้วยวิธีการใด ๆ 5)ฟังก์ชั่นไม่ได้รับอนุญาตให้รับค่าและส่งกลับผลลัพธ์; ผู้ใช้จะต้องโต้ตอบกับโปรแกรม โชคดี!

14
เอาท์พุทหมายเลขของเกรแฮม
เขียนโปรแกรมที่ให้ผลลัพธ์เป็นเลเยอร์ 64 ทั้งหมดของหมายเลขของ Grahamจาก Wikipedia: ผลลัพธ์ของคุณจะต้องตรงกับรุ่น ASCII นี้ (ซึ่ง^หมายถึงลูกศรขึ้นของ Knuthและการรวมกันของเครื่องหมายทับและขีดล่างแทนวงเล็บปีกกาขนาดใหญ่ในแนวนอน): 3^^...............................................................................................................................^3 \_______________________________________________________________ _______________________________________________________________/ \/ 3^^.............................................................................................................................^3 \______________________________________________________________ ______________________________________________________________/ \/ 3^^...........................................................................................................................^3 \_____________________________________________________________ _____________________________________________________________/ \/ 3^^.........................................................................................................................^3 \____________________________________________________________ ____________________________________________________________/ \/ 3^^.......................................................................................................................^3 \___________________________________________________________ ___________________________________________________________/ \/ 3^^.....................................................................................................................^3 \__________________________________________________________ __________________________________________________________/ \/ 3^^...................................................................................................................^3 \_________________________________________________________ _________________________________________________________/ \/ 3^^.................................................................................................................^3 \________________________________________________________ ________________________________________________________/ \/ 3^^...............................................................................................................^3 \_______________________________________________________ _______________________________________________________/ \/ 3^^.............................................................................................................^3 \______________________________________________________ ______________________________________________________/ \/ …

6
จากแผ่นสู่รัฐ
นี่เป็นสิ่งที่ตรงกันข้ามกับการสร้าง US License Plate ถาม:กำหนดสตริงที่ตรงกับหนึ่งในรูปแบบป้ายทะเบียนด้านล่างออกสถานะที่เป็นไปได้ทั้งหมดที่ตรงกับการจัดรูปแบบนั้น ในตารางด้านล่าง0ย่อมาจากหลักเดียว0ผ่าน9รวมและAย่อมาจากตัวอักษรเดียวAผ่านZรวม สำหรับจุดประสงค์ของการท้าทายนี้เราไม่สนใจสถานะที่มีกฎรูปแบบที่ซับซ้อน (เช่นเดลาแวร์ซึ่งมีตัวเลขหลายหลัก) และไม่สนใจการลบตัวอักษรที่มีลักษณะเหมือนกัน (เช่นIและ1) AAA 000: AK, IA, MS, MP, VT 0000: AS AAA0000: AZ, GA, WA 000 AAA: AR, KS, KY, LA, ND, OR 0AAA000: CA AA-00000: CT AA-0000: DC AAA A00: FL AA 00000: IL 000A,000AA,000AAA,AAA000: IN 0AA0000: MD AAA 0000,0AA A00,AAA …

4
สายอักขระแฟนซีแทนที่
ให้S, aและbแต่ละแทนสตริง เป้าหมาย: เขียนฟังก์ชั่นแทนที่สตริงมาตรฐานโดยที่คุณแทนที่เหตุการณ์ทั้งหมดaในสตริงSด้วยbตราบใดที่aยังไม่ได้เป็นส่วนหนึ่งของอินสแตนซ์ของb ตัวอย่างเช่นถ้าเรามีสตริงS=My oh my that there is a big ol' that และเราอยากจะทำแฟนซีแทนที่ด้วยa = thatและb = that thereเราจะเข้ามาแทนที่อินสแตนซ์ของทุกthatกับthat thereตราบเท่าที่อินสแตนซ์ของthatไม่ได้เป็นตัวอย่างของthat there ดังนั้นในกรณีนี้ผลลัพธ์จะเป็น: My oh my that there is a big ol' that there อันแรกthatไม่ได้ถูกแทนที่เพราะมันเป็นส่วนหนึ่งของอินสแตนซ์ของแล้วthat there หมายเหตุ อินพุตทั้ง 3 ตัวต้องเป็นสตริงที่มีอักขระ ASCII ที่พิมพ์ได้เท่านั้น อินพุตอาจถูกกำหนดเป็น 3 สตริงแยกกันหรือรายการของ 3 สตริง การป้อนข้อมูลจะอยู่ในลำดับที่S, a, bนอกจากที่ระบุไว้ในคำตอบ …
16 code-golf  string 

13
ตัวแทนของฉันอยู่ในรูปแบบกองซ้อนแลกเปลี่ยนหรือไม่
สถานที่ตั้ง: ชื่อเสียงของคุณอยู่ในรูปแบบสแต็ค - แลกเปลี่ยนหากสามารถแสดงได้โดยการนับจำนวนเหรียญของคุณ (ทองเงินและทองแดงแยกต่างหาก) เป็นตัวเลขฐาน 10 ของพวกเขาและเข้าร่วมพวกเขาตามลำดับที่กำหนด ในขณะที่การย่อยสลายแต่ละ เหรียญทองหลักมีค่าสามหลัก เงินมีค่าเป็นตัวเลขสองหลัก บรอนซ์เป็นหนึ่งหลัก นอกจากนี้ตั้งแต่ SE ไม่แสดงประเภทเหรียญถ้าคุณไม่ได้ใด ๆ นับจาก 0 เหรียญสำหรับประเภทจะไม่ได้[0]ผลผลิต ตัวอย่าง: [1 Gold, 2 Silvers, 3 Bronzes][1,1,1,2,2,3]จะสลายตัวลงไป 321112 และ 213121 เป็นสองตัวอย่างของหมายเลข SE-form สำหรับเหรียญเหล่านี้ [20 Golds, 0 Silvers, 20 Bronzes][2,2,2,0,0,0,2,0]จะสลายตัวลงไป 20002022 เป็นหมายเลข SE-form [11 Golds, 0 Silvers, 0 Bronzes][1,1,1,1,1,1]จะสลายตัวลงไป 111111 เป็นหมายเลข SE-form …

11
สร้างองค์ประกอบพื้นฐานของพีชคณิต Steenrod
พีชคณิต Steenrod เป็นพีชคณิตที่สำคัญที่เกิดขึ้นในโทโพโลยีพีชคณิต พีชคณิต Steenrod ถูกสร้างขึ้นโดยตัวดำเนินการที่เรียกว่า "Steenrod squares" มีอยู่หนึ่งตัวสำหรับจำนวนเต็มบวกแต่ละตัว มีพื้นฐานสำหรับพีชคณิต Steenrod ซึ่งประกอบด้วย "monomials ที่ยอมรับได้" ในการปฏิบัติการกำลังสอง มันเป็นเป้าหมายของเราในการสร้างพื้นฐานนี้ ลำดับของจำนวนเต็มบวกเรียกว่ายอมรับได้ถ้าจำนวนเต็มแต่ละค่าเป็นอย่างน้อยสองครั้งต่อไป ดังนั้นสำหรับตัวอย่างเช่น[7,2,1]เป็นที่ยอมรับเพราะ7≥2∗27≥2∗27 \geq 2*2และ2≥2∗12≥2∗12 \geq 2*1 1 บนมืออื่น ๆ ที่[3,2]ไม่ได้เป็นที่ยอมรับเพราะ3&lt;2∗23&lt;2∗23 < 2*2 2 (ในโทโพโลยีเราจะเขียนSq7Sq2Sq1Sq7Sq2Sq1\mathrm{Sq}^7 \mathrm{Sq}^2\mathrm{Sq}^1สำหรับลำดับ[7,2,1]) ศึกษาระดับปริญญาของลำดับคือผลรวมของรายการมันของ ดังนั้นสำหรับตัวอย่างเช่นการศึกษาระดับปริญญาของ[7,2,1]เป็น7+2+1=107+2+1=107 + 2 + 1 = 10 10 ส่วนเกินของลำดับที่ยอมรับเป็นองค์ประกอบแรกลบรวมขององค์ประกอบที่เหลือเพื่อให้[7,2,1]มีส่วนเกิน7−2−1=47−2−1=47 - 2 - 1 = 4 4 งาน จงเขียนโปรแกรมที่ใช้คู่ของจำนวนเต็มบวกได้(d,e)และผลชุดของลำดับที่ยอมรับทุกระดับและส่วนเกินที่น้อยกว่าหรือเท่ากับd …

5
New Order # 5: Fibonacci และ Beatty พบกันที่ Wythoff
บทนำ (อาจถูกละเว้น) การใส่ตัวเลขบวกทั้งหมดในลำดับปกติ (1, 2, 3, ... ) นั้นน่าเบื่อนิดหน่อยใช่ไหม? ดังนั้นนี่คือชุดของความท้าทายรอบพีชคณิต (reshuffelings) ของจำนวนบวกทั้งหมด นี่คือความท้าทายที่ห้าในชุดนี้ (เชื่อมโยงไปครั้งแรก , สอง , สามและสี่ความท้าทาย) ในการท้าทายนี้เราจะได้พบกับอาร์เรย์ Wythoff ซึ่งเป็นหิมะถล่มที่ผสมผสานระหว่างFibonacci และ Beatty sequences! ตัวเลข Fibonacciอาจจะเป็นส่วนใหญ่ของคุณลำดับที่รู้จักกันดี ได้รับตัวเลขสองเริ่มต้นF0F0F_0และF1F1F_1ต่อไปนี้FnFnF_nจะได้รับโดย: Fn=F(n−1)+F(n−2)Fn=F(n−1)+F(n−2)F_n = F_{(n-1)} + F_{(n-2)}สำหรับn&gt;2n&gt;2n>2 2 ลำดับเบ็ตตี้ได้รับพารามิเตอร์rrrคือBrn=⌊rn⌋Bnr=⌊rn⌋B^r_n = \lfloor rn \rfloorสำหรับn≥1n≥1n \ge 1 1 หนึ่งในคุณสมบัติของลำดับเบ็ตตี้คือสำหรับพารามิเตอร์rrrทุกตัวมีพารามิเตอร์หนึ่งตัวคือs=r/(r−1)s=r/(r−1)s=r/(r-1)เช่นนั้นลำดับเบ็ตตี้สำหรับพารามิเตอร์เหล่านั้นจะแยกกันและรวมเข้าด้วยกัน 0 (เช่น: Br∪Br/(r−1)=N∖{0}Br∪Br/(r−1)=N∖{0}B^r \cup B^{r/(r-1)} = \Bbb{N} \setminus …

30
แบ่งออกเป็นสาม!
รับสตริงคุณต้องแบ่งมันออกเป็นกลุ่มของอักขระสามตัว (โดยการเติม_ที่ท้าย) ที่เกี่ยวข้องแต่ก็ยังแตกต่างกัน ตัวอย่าง I / O: 'abcde' -&gt; 'abc', 'de_' '1234' -&gt; '123', '4__' '' -&gt; [] or falsey value 'Three spree!' -&gt; 'Thr', 'ee ', 'spr', 'ee!' สตริง 6 MB นี่คือรหัสกอล์ฟดังนั้นไบต์ที่น้อยที่สุดจึงจะชนะ! แก้ไข:ในที่สุดการส่งออกคือไม่ จำกัด

6
ใหม่ # 3: 5 8 6
บทนำ(อาจถูกละเว้น) การใส่ตัวเลขบวกทั้งหมดในลำดับปกติ (1, 2, 3, ... ) นั้นน่าเบื่อนิดหน่อยใช่ไหม? ดังนั้นนี่คือชุดของความท้าทายรอบพีชคณิต (reshuffelings) ของจำนวนบวกทั้งหมด นี่คือความท้าทายที่สามในซีรีส์นี้ (เชื่อมโยงกับความท้าทายแรกและครั้งที่สอง ) ในการท้าทายนี้เราจะจัดเรียงตัวเลขตามธรรมชาติในแถวของความยาวที่เพิ่มขึ้นในลักษณะที่ผลรวมของแต่ละแถวนั้นเป็นจำนวนเฉพาะ สิ่งที่ฉันคิดว่าน่าทึ่งมากเกี่ยวกับเรื่องนี้คือตัวเลขธรรมชาติทุกตัวมีอยู่ในข้อตกลงนี้ ไม่มีการข้ามหมายเลข! การสร้างภาพของการจัดเรียงนี้มีลักษณะเช่นนี้: row numbers sum 1 1 1 2 2 3 5 3 4 5 8 17 4 6 7 9 15 37 5 10 11 12 13 21 67 6 14 16 17 …

7
ตารางไร้ขอบ
ในการท้าทายนี้คุณจะต้องวางตัวอักษรจากตัวอักษรในระนาบคาร์ทีเซียนและส่งออกผลลัพธ์เป็นข้อความ ข้อมูลที่คุณป้อนจะประกอบด้วยรายการ 3 พารามิเตอร์ พิกัด X พิกัด Y เชือก อย่างไร? เรารู้ว่าระนาบคาร์ทีเซียนมีแกน 2 แกน( X, วาย)(X,Y)(X, Y)และจตุภาคที่ 4 ซึ่งสัญญาณของพิกัด(X,Y)(X,Y)(X,Y)คือ(+,+)(+,+)(+,+) , (−,+)(−,+)(−,+) , (−,−)(−,−)(−,−)และ(+,−)(+,−)(+,−) )ตัวอย่างเช่น พิจารณาเมทริกซ์ 3 คูณ 3 ต่อไปนี้เป็นระนาบคาร์ทีเซียน ( - 1 , 1 )( - 1 , 0 )( - 1 , - 1 )( 0 , 1 )( 0 …

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