การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

16
Sigmafy การแสดงออก
สำหรับผู้ที่ไม่ทราบซิกมา เป็นตัวอักษรกรีกที่ใช้อย่างมากในวิชาคณิตศาสตร์เป็นสัญญาณรวม ได้รับสตริงที่แสดงการแสดงออกขึ้นอยู่กับว่าเราจะแสดงคำนวณผลรวมของผลการค้นหาสำหรับสำหรับแต่ละ\} โดยสังเขปคุณควรพบSเช่นนั้น:kkkE( k )E(k)E(k)E( k )E(k)E(k)k ∈ { 1 , 2 , 3 , 4 , 5 }k∈{1,2,3,4,5}k\in\{1,2,3,4,5\}SSS S= ∑k = 15E( k )S=Σk=15E(k)S=\sum^5_{k=1}E(k) ตัวอย่างของนิพจน์: E( k ) = k2+ k2E(k)=k2+k2E(k)=\frac k 2 + k^2 รายละเอียด คุณรับประกัน: นิพจน์นั้นถูกต้องดังนั้นจึงไม่มีข้อผิดพลาดและขึ้นอยู่กับไวยากรณ์ที่เลือก (เช่น: หากคุณสนับสนุนเท่านั้น2*kจะไม่มี2k) เพียงได้กำหนดค่าในหมู่ผลลัพธ์ของคุณเพื่อให้ค่าไม่ชอบ1/0, infหรือnanจะปรากฏ คุณสามารถสันนิษฐานได้ว่านิพจน์ด้านบนเหมาะสมกับขีด จำกัด ของภาษาการเขียนโปรแกรมที่คุณเลือกดังนั้นมันจะไม่ส่งผลให้เกิดการโอเวอร์โฟลว์หรือข้อผิดพลาดอื่น ๆ ที่เกี่ยวข้องกับการ จำกัด …

30
ลองทำตาราง!
งาน รับอักขระที่ไม่สามารถพิมพ์ช่องว่างได้หนึ่งตัวสร้างตารางขนาด 3x3 ของอินพุตนั้น ตัวอย่างเช่นถ้าอินพุตเป็น#ดังนั้นเอาต์พุตคือ: ### # # ### กฎระเบียบ รูปแบบเอาต์พุตเข้มงวดแม้ว่าจะขึ้นบรรทัดใหม่ต่อท้ายก็ตาม หมายความว่าต้องการช่องว่างตรงกลางและยังต้องใช้อักขระขึ้นบรรทัดใหม่สองตัวเพื่อแยกสามบรรทัด Testcases การป้อนข้อมูล: # เอาท์พุท: ### # # ### การป้อนข้อมูล: A เอาท์พุท: AAA A A AAA การป้อนข้อมูล: 0 เอาท์พุท: 000 0 0 000 เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์

20
จัดลำดับเมทริกซ์ใหม่สองครั้ง
คุณจะได้รับตารางเมทริกซ์และรายการ (หรือเวกเตอร์)ของความยาวที่มีหมายเลขผ่าน (หรือผ่าน ) งานของคุณคือการเรียงลำดับคอลัมน์และแถวของเมทริกซ์ตามคำสั่งที่ระบุไว้ในยูn × nn×nn \times nยูn 1 n 0 n - 1AAAยูuunnn111nnn000n - 1n−1n-1AAAยูuu นั่นคือคุณจะสร้างเมทริกซ์ที่องค์ประกอบ -th เป็นองค์ประกอบ -th ของ คุณควรแสดงผลลัพธ์ของการผกผันนี้ นั่นคือองค์ประกอบ (i, j) -th ของจะสิ้นสุดที่ตำแหน่งในเมทริกซ์ใหม่BBB( i , j )(i,j)(i,j)( u ( i ) , u ( j ) )(u(i),u(j))(u(i),u(j))AAAAAA( u ( i ) , u ( j …

9
เพื่อนบ้าน Levenshtein
ตารางตัวเลขส่วนใหญ่จะมีที่แตกต่างกันจำนวนตารางอย่างน้อย 1 กับที่พวกเขาLevenshtein ระยะทางเป็นสิ่งที่ 1. สำหรับตารางที่กำหนดxxxแต่ละตารางที่ตรงตามเงื่อนไขนี้จะเรียกว่าเป็นเพื่อนบ้าน Levenshteinของxxxxตัวอย่างเช่น363636เป็นเพื่อนบ้านของ Levenshtein ที่161616เนื่องจากต้องการเพียง 1 การแก้ไข ( 1→31→31 \to 3 ) อย่างไรก็ตาม646464ไม่ใช่เพื่อนบ้านของ Levenshtein ที่161616เนื่องจากต้องมีการแก้ไขอย่างน้อย 2 ครั้ง ตัวเลขที่มีผู้นำ 0s ( 2025→0252025→0252025 \to 025 ) ไม่ใช่เพื่อนบ้านของ Levenshtein งานของคุณคือการใช้หมายเลขสแควร์เป็นอินพุตและเอาต์พุตในรูปแบบที่สมเหตุสมผลรายการทั้งหมดของเพื่อนบ้าน Levenshtein คุณอาจรวมเพื่อนบ้านซ้ำในรายการหากคุณต้องการ แต่คุณไม่สามารถรวมอินพุตต้นฉบับเนื่องจากไม่ใช่เพื่อนบ้านของ Levenshtein รูปแบบที่เหมาะสมควรมีตัวคั่นบางประเภทระหว่างผลลัพธ์เช่น,หรือขึ้นบรรทัดใหม่และสามารถส่งออกอักขระด้วยค่า Unicode ที่สอดคล้องกัน (เช่น brainfuck) แทนที่จะเป็นตัวเลขเอง ลำดับของเอาต์พุตไม่สำคัญ การป้อนข้อมูลนี้จะเป็นจำนวนตารางมากกว่า0000โปรแกรมของคุณไม่ควรมีข้อ จำกัดทางทฤษฎีแต่ถ้ามันล้มเหลวสำหรับคนจำนวนมากด้วยเหตุผลเชิงปฏิบัติ (เช่นเกิน 32- บิต) นั่นเป็นเรื่องที่สมบูรณ์ หากอินพุตไม่มีเพื่อนบ้านของ Levenshtein …

12
Lípínguapua dopo Pêpê
Língua do Pêหรือ P Language เป็นเกมภาษาที่พูดในบราซิลและโปรตุเกสพร้อมโปรตุเกส มันเป็นที่รู้จักกันในภาษาอื่น ๆ เช่นดัตช์และแอฟริกาใต้ ( Wikipedia ) มีบางภาษาในเกมภาษานี้ ภาษาต่าง ๆ ที่เกมเล่นด้วยภาษาถิ่นของตัวเอง บางคนพูดภาษา P ได้คล่องและดีที่สุดยังสามารถแปลข้อความเป็นภาษาถิ่นที่ต้องการได้ทันที! ภาษา P ในความท้าทายนี้เราจะใช้ภาษาDouble Talk ในการแปลข้อความเป็นภาษา P ลำดับของสระใด ๆ ในข้อความจะถูกต่อท้ายด้วยpอักขระตัวเดียวตามด้วยสำเนาลำดับของสระ ท้าทาย เขียนฟังก์ชั่นหรือโปรแกรมที่รับสตริงเป็นอินพุตและเอาต์พุตการแปลในภาษา P อินพุตประกอบด้วยอักขระ ASCII ที่พิมพ์ได้เท่านั้น เอาต์พุตประกอบด้วยอินพุตที่ถูกแปลเท่านั้นและขึ้นบรรทัดใหม่ที่เป็นทางเลือก aeiouyAEIOUYสระมีตัวอักษรใด ๆ ดังต่อไปนี้ ลำดับของเสียงสระถูกคั่นด้วยอักขระอื่น ๆ สตริง"Aa aa-aa"มีลำดับเสียงสระสามชุด ช่องว่างนำหน้าและต่อท้ายอาจถูกละเว้นจากสตริงเอาต์พุตที่แปลแล้ว ตัวอย่าง "" => "" "Lingua do Pe" …
20 code-golf  string 

8
รีวิวรหัสอลิซเป็นครั้งแรก
อลิซเป็นผู้ฝึกงานใน บริษัท ที่ใช้ Brainfuck เป็นภาษาหลักสำหรับการพัฒนาลูกค้าและฝั่งเซิร์ฟเวอร์ อลิซเพิ่งเขียนโค้ดแรกของเธอและเธอก็กังวลเล็กน้อยเมื่อเธอเตรียมพร้อมสำหรับการทบทวนรหัสครั้งแรก อลิซต้องการที่จะทำให้รหัสของเธอในรูปแบบที่ถูกต้องและดูดี แต่เธอก็มีเวลาในการอ่านคู่มือ 328 หน้า บริษัท รหัสลักษณะไม่มีดังนั้นเธอจึงตัดสินใจที่จะจัดรูปแบบเป็นตารางที่สมบูรณ์ อนิจจาความยาวโค้ดอาจไม่เพียงพอในการสร้างสี่เหลี่ยมดังนั้นเธอจึงตัดสินใจทิ้งช่องว่างสี่เหลี่ยมไว้ตรงกลาง ช่องว่างจะต้องอยู่กึ่งกลางอย่างสมบูรณ์และใกล้กับตารางมากที่สุด ตัวอย่าง ++++++ +++++ +++++ +++++ +++++ +++++ ++++++ +++++ +++++ + ++ ++ ++ +++++ ++++++ ++ ++ + + + ++ + + ++++++ +++++ +++++ +++++ ++ ++ +++++ ++++++ +++++ +++++ +++++ +++++ …

9
กระดานหมากรุกที่บิดเบี้ยว
ความท้าทายนี้เกี่ยวกับการสร้างกระดานหมากรุกที่มีขนาดสี่เหลี่ยมแทนที่จะเป็นค่าคงที่ทั่วกระดานตามลำดับที่ไม่ลดลงตามที่อธิบายไว้ด้านล่าง คณะกรรมการกำหนดซ้ำ บอร์ดขนาดถูกขยายเป็นขนาดโดยขยายลงและไปทางขวาโดย "เลเยอร์" ของสี่เหลี่ยมขนาดซึ่งคือตัวหารที่ยิ่งใหญ่ที่สุดของไม่เกิน{n} สี่เหลี่ยมในแนวทแยงมักมีสีเดียวกันเสมอn × nn×nn \times n( n + k ) × ( n + k )(n+k)×(n+k)(n+k)\times(n+k)kkkkkknnnn--√n\sqrt{n} โดยเฉพาะการพิจารณาของคณะกรรมการที่มีสีแสดงเป็นและ#+ เริ่มต้นกระดานหมากรุกเพื่อ # คณะกรรมการเพื่อให้ห่างไกลมีขนาด1 ตัวหารเดียวของคือและไม่เกิน{1} ดังนั้นเราจึงใช้และขยายกระดานโดยเพิ่มเลเยอร์ของสี่เหลี่ยมจัตุรัสขนาดโดยมีในแนวทแยง:1 × 11×11\times 11111111-√1\sqrt{1}k = 1k=1k=1111# #+ +# คณะกรรมการที่สร้างขึ้นเพื่อให้ห่างไกลมีขนาด2 หารของมีและหารสูงสุดไม่เกินคือ1ดังนั้นอีกครั้งและคณะกรรมการจะขยายไป2 × 22×22 \times 22221 , 21,21,22-√2\sqrt{2}111k = 1k=1k=1 #+# +#+ #+# ขนาด3 1 ขยายไปถึง3 × …

8
รอบบนพรู
ท้าทาย ความท้าทายนี้จะมีคุณเขียนโปรแกรมที่จะใช้เวลาในสองจำนวนเต็มnและmและผลจำนวนไม่ใช่ตัดลูปบนnโดยmพรูทำโดยเริ่มต้นที่(0,0)และมีเพียงทำตามขั้นตอนขึ้นและไปทางขวา คุณสามารถนึกถึงพรูเป็นกริดที่มีการพันรอบทั้งที่ด้านบนและด้านล่างและด้านข้าง นี่คือรหัสกอล์ฟจำนวนน้อยที่สุดที่จะชนะ ตัวอย่าง ตัวอย่างเช่นถ้าอินพุตคือn=m=5หนึ่งเดินที่ถูกต้องคือ (0,0) -> (0,1) -> (0,2) -> (1,2) -> (2,2) -> (2,3) -> (2,4) -> (2,0) -> (3,0) -> (4,0) -> (4,1) -> (4,2) -> (4,3) -> (0,3) -> (1,3) -> (1,4) -> (1,0) -> (1,1) -> (2,1) -> (3,1) -> (3,2) -> (3,3) -> …

16
Cubimes Primes
รับจำนวนธรรมชาติ , กลับ -th นายกคิวบาnnnnnn Cubimes Primes Cuban prime เป็นจำนวนเฉพาะของแบบฟอร์ม p = x3- y3x - yพี=x3-Y3x-Yp = \frac{x^3-y^3}{x-y} โดยที่และหรือY> 0Y>0y>0x = 1 + yx=1+Yx = 1+yx = 2 + yx=2+Yx = 2+y รายละเอียด คุณอาจใช้การจัดทำดัชนีตาม 0 หรือ 1 สิ่งที่เหมาะกับคุณที่สุด คุณสามารถกลับนายก -th ให้ดัชนีหรือแรกช่วงเวลาในการสั่งซื้อที่เพิ่มขึ้นหรือมิฉะนั้นคุณสามารถกลับรายการอนันต์ / เครื่องกำเนิดไฟฟ้าที่ผลิตเฉพาะในการสั่งซื้อที่เพิ่มขึ้นnnnnnnnnn กรณีทดสอบ คำศัพท์สองสามคำแรกมีดังต่อไปนี้: (#1-13) 7, 13, 19, 37, …

11
ทำให้สี่เหลี่ยมทั้งหมดระเบิด
คุณจะได้เมทริกซ์จตุรัสที่มีความกว้าง≥ 2≥2\ge2ซึ่งมีหมายเลขสแควร์≥ 1≥1\ge1 1 งานของคุณคือการทำให้ 'การระเบิด' ตัวเลขสี่เหลี่ยมจัตุรัสทั้งหมดจนกว่าพวกเขาทั้งหมดจะหายไป คุณต้องพิมพ์หรือคืนเมทริกซ์สุดท้าย โดยเฉพาะอย่างยิ่ง: มองหาจตุรัสสูงสุดx2x2x^2ในเมทริกซ์ มองหาเพื่อนบ้านที่เล็กที่สุดที่อยู่ติดกันnnn (ทั้งแนวนอนหรือแนวตั้งและไม่มีการตัดรอบ) แทนที่x2x2x^2กับxxxและแทนที่nnnกับn × xn×xn\times x x ทำซ้ำกระบวนการตั้งแต่ขั้นตอนที่ 1 จนกระทั่งไม่มีสแควร์อีกต่อไปในเมทริกซ์ ตัวอย่าง อินพุตเมทริกซ์: ( 625)19636324)(62536196324)\begin{pmatrix} 625 & 36\\ 196 & 324 \end{pmatrix} สี่เหลี่ยมจัตุรัสสูงสุด625625625กระจายออกเป็นสองส่วนของ625---√= 25625=25\sqrt{625}=25และรวมกับเพื่อนบ้านที่เล็กที่สุด363636ซึ่งกลายเป็น36 × 25 = 90036×25=90036\times 25=900: ( 25)196900324)(25900196324)\begin{pmatrix} 25 & 900\\ 196 & 324 \end{pmatrix} สี่เหลี่ยมจัตุรัสที่สูงที่สุด900900900ระเบิดและรวมเข้ากับเพื่อนบ้านที่เล็กที่สุด252525 : (75019630324)(75030196324)\begin{pmatrix} …
20 code-golf  matrix 

30
ความต้านทานแบบขนานในวงจรไฟฟ้า
บทนำ: ตัวต้านทานสองตัวR1และR2ขนาน (แทนR1 || R2) มีความต้านทานรวมที่Rpกำหนดดังนี้: RP2=R1⋅R2R1+R2RP2=R1⋅R2R1+R2R_{P_2} = \frac{R_1\cdot R_2}{R_1+R_2} หรือตามที่แนะนำในความคิดเห็น: RP2=11R1+1R2RP2=11R1+1R2R_{P_2} = \frac{1}{\frac{1}{R_1} + \frac{1}{R_2}} สามตัวต้านทานR1, R2และR3ในแบบคู่ขนาน ( R1 || R2 || R3) มีความต้านทานรวม(R1 || R2) || R3 = Rp || R3: RP3=R1⋅R2R1+R2⋅R3R1⋅R2R1+R2+R3RP3=R1⋅R2R1+R2⋅R3R1⋅R2R1+R2+R3R_{P_3} = \frac{\frac{R_1\cdot R_2}{R_1+R_2}\cdot R_3}{\frac{R_1\cdot R_2}{R_1+R_2}+R_3} หรืออีกครั้งตามที่แนะนำในความคิดเห็น: RP3=11R1+1R2+1R3RP3=11R1+1R2+1R3R_{P_3} = \frac{1}{\frac{1}{R_1} + \frac{1}{R_2}+ \frac{1}{R_3}} แน่นอนว่าสูตรเหล่านี้สามารถขยายไปยังตัวต้านทานจำนวนไม่ จำกัด ท้าทาย: จดรายการค่าความต้านทานเป็นค่าบวกป้อนเข้าและส่งออกค่าความต้านทานรวมหากวางขนานในวงจรไฟฟ้า …

22
ตำแหน่งที่หมุนของจำนวนเต็ม
ท้าทาย: การป้อนข้อมูล: รายการที่เรียงลำดับของจำนวนเต็มบวก เอาท์พุท: จำนวนของจำนวนเต็มซึ่งยังคงอยู่ที่ดัชนีเดียวกันแน่นอนหลังจากหมุนตัวเลขในแต่ละจำนวนเต็มจำนวนดัชนีของมันไปทางซ้ายและเรียงลำดับรายการแก้ไขอีกครั้ง ตัวอย่าง: อินพุต: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788] เอาต์พุต (การจัดทำดัชนีตาม 0): 6 เอาท์พุท (การจัดทำดัชนีที่ 1):5 ทำไม? การจัดทำดัชนีแบบ 0: After rotating each: [8,94,73,102,592,276,8227,3338,9217,63784,89487,7887471] Sorted again: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471] Input indices: 0 1 2 3 4 5 6 7 8 9 10 11 Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788] Modified list: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471] Modified indices: 0 2 1 …

22
พวกเขาเรียกฉันว่าสารวัตรมอร์ส
ภารกิจของคุณคุณควรเลือกที่จะยอมรับหรือไม่คือการตัดสินใจว่าสตริงอินพุตที่กำหนดเป็น Dot-heavy หรือ Dash-heavy สตริงเป็นจุดหนักเมื่อการแสดงมอร์สของมันมีจุดมากกว่าขีดกลาง ตัวอย่างเช่นตัวอักษร E เป็นจุดเดียวซึ่งหมายความว่ามันเป็นจุดหนา อินพุต สตริงอินพุตจะมีอักขระอยู่ในช่วง[a-z]หรือ[A-Z]เท่านั้น คุณสามารถตัดสินใจว่าพวกเขาควรจะทั้งหมดเป็นกรณีบนหรือกรณีที่ต่ำกว่า AAAจะปรับaaaจะปรับaAaไม่ได้ สตริงอินพุตจะมีความยาวอย่างน้อย 1 อักขระเสมอ คุณอาจคิดว่าสตริงอินพุตจะไม่มีจุดและขีดคั่นเท่ากัน เอาท์พุต คุณควรกลับTruthyสำหรับอินพุตที่มีอักขระจุดมากขึ้น คุณควรกลับ Falsy สำหรับอินพุตที่มีอักขระขีดกลางมากกว่า แก้ไข: ฉันจะอนุญาตค่าบวกสำหรับจุดและค่าลบสำหรับเส้นประเช่นกัน กรณีทดสอบ | input | morse representation | result | |------------------------------------------------| | S | ... | Truthy | | k | -.- | Falsy | | HELLO | …
20 code-golf  morse 

17
ระยะห่างรูทสแควร์จากจำนวนเต็ม
กำหนดตัวเลขทศนิยมkให้หาจำนวนเต็มที่น้อยที่สุดnซึ่งสแควร์รูทของnอยู่ภายในkจำนวนเต็ม อย่างไรก็ตามระยะทางควรเป็นศูนย์ - nไม่สามารถเป็นรูปสี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบได้ ป.ร. ให้kไว้เป็นจำนวนทศนิยมหรือเศษส่วน (แล้วแต่จำนวนใดจะง่ายสำหรับคุณ) เช่น0 < k < 1เอาท์พุทจำนวนเต็มบวกที่เล็กที่สุดnที่แตกต่างระหว่างสแควร์รูทของnและจำนวนเต็มที่ใกล้เคียงกับสแควร์รูทของnน้อยกว่าหรือเท่ากับkแต่ไม่ใช่ศูนย์ . ถ้าiเป็นจำนวนเต็มใกล้เคียงกับรากที่สองของnคุณกำลังมองหาคนแรกที่n0 < |i - sqrt(n)| <= k กฎระเบียบ คุณไม่สามารถใช้งานการใช้ตัวเลขที่ไม่ใช่จำนวนเต็มอย่างไม่เพียงพอของภาษาเพื่อทำให้เกิดปัญหาเล็กน้อย มิฉะนั้นคุณสามารถสมมติว่าkจะไม่ทำให้เกิดปัญหากับตัวอย่างเช่นการปัดเศษทศนิยม กรณีทดสอบ .9 > 2 .5 > 2 .4 > 3 .3 > 3 .25 > 5 .2 > 8 .1 > 26 .05 > 101 .03 > …

30
นับซ้ำของอาร์เรย์
คุณจะได้รับอาร์เรย์และจะต้องส่งคืนจำนวนเต็มที่เกิดขึ้นมากกว่าหนึ่งครั้ง [234, 2, 12, 234, 5, 10, 1000, 2, 99, 234] สิ่งนี้จะคืนค่า 2 เนื่องจากแต่ละรายการ234และ2ปรากฏมากกว่าหนึ่งครั้ง [234, 2, 12, 234] [2, 12, 234, 5, 10, 1000, 2] รายการจะไม่ยาวเกิน 100k เต็มและจำนวนเต็มภายในรายการจะอยู่ระหว่าง -100k และ 100k จำนวนเต็มควรนับถ้ามันเกิดขึ้นมากกว่าหนึ่งครั้งดังนั้นหากจำนวนเต็มเกิดขึ้น 3 ครั้งแล้วมันจะยังคงนับเป็นจำนวนเต็มซ้ำหนึ่งครั้งเท่านั้น กรณีทดสอบ [1, 10, 16, 4, 8, 10, 9, 19, 2, 15, 18, 19, 10, 9, 17, …

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