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

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

5
การเข้ารหัส CipherSaber
ใช้โปรแกรมเข้ารหัสCipherSaberดังที่อธิบายไว้ด้านล่าง แนวทาง: รายการที่เล็กที่สุดเป็นไบต์ชนะ อย่างไรก็ตามในการออกจากบรรทัดฐานโค้ดกอล์ฟคุณสามารถโพสต์รายการที่น่าสนใจแม้ว่าพวกเขาจะไม่ได้รายการกอล์ฟที่ร้ายแรง โดยทั่วไปแล้วรายการจะเป็นโปรแกรมที่ใช้ข้อความธรรมดาจากอินพุตมาตรฐานและเขียน ciphertext ไปยังเอาต์พุตมาตรฐานโดยมีคีย์ที่ระบุ (โดยผู้ใช้) ในบางวิธีที่คุณต้องการ อย่างไรก็ตามหากคุณต้องการใช้ขั้นตอนนี้เป็นขั้นตอนก็ถือว่าใช้ได้เช่นกัน IV จะต้องมาจากเครื่องกำเนิดหมายเลขเทียมแบบเข้ารหัสที่มีความปลอดภัย หากภาษาของคุณไม่รองรับให้เลือกภาษาอื่น ;-) กรุณาอย่าใช้ไลบรารีที่เฉพาะเจาะจงเข้ารหัสลับการเรียกระบบหรือคำแนะนำใด ๆ (นอกเหนือจาก PRNG ตามที่ระบุไว้ข้างต้น) แน่นอนว่าการใช้งานระดับบิตเรตระดับต่ำทั่วไปนั้นโอเค CipherSaber เป็นตัวแปรของ RC4 / Arcfour ดังนั้นฉันจะเริ่มต้นด้วยการอธิบายหลังจากนั้นการเปลี่ยนแปลง CipherSaber จะเป็นเช่นนั้น 0. RC4 / Arcfour Arcfour มีการระบุอย่างสมบูรณ์ที่อื่นแต่เพื่อความสมบูรณ์ฉันจะอธิบายที่นี่ (ในกรณีที่มีความแตกต่างระหว่างร่างอินเทอร์เน็ตและคำอธิบายนี้อดีตเป็นบรรทัดฐาน) การตั้งค่าคีย์ ตั้งค่าสองอาร์เรย์SและS2ทั้งความยาว 256 โดยที่k_1เป็นไบต์แรกของคีย์และk_nเป็นตัวสุดท้าย S = [0, ..., 255] S2 = [k_1, ..., k_n, k_1, …

15
การกระจายตัวเลข
ในความท้าทายนี้คุณจะใช้ BE กระจายสินค้ามากกว่าผลบวกและความแตกต่างของตัวเลขตามที่อธิบายไว้ที่นี่ ตัวอย่าง Input | Output -------------|------------- 23(12+42) | (23*12)+(23*42) 9(62-5) | (9*62)-(9*5) 4(17+8-14) | (4*17)+(4*8)-(4*14) 15(-5) | -(15*5) 2(3) | (2*3) 8(+18) | +(8*18) 8(-40+18) | -(8*40)+(8*18) สเปค การป้อนข้อมูลจะเป็นสตริงของรูปแบบn(_), มีเพียงหนึ่งเดียวที่ไม่ได้ลงชื่อจำนวนเต็มบวกตามด้วยการแสดงออกวงเล็บn _การแสดงออกนี้_จะประกอบด้วยผลรวมและความแตกต่างของหนึ่งในคำศัพท์จำนวนเต็มบวกที่คั่นด้วย+และ-เครื่องหมาย เทอมแรกอาจมีการนำหน้าด้วย+สัญญาณ-เครื่องหมายหรือไม่มีเครื่องหมาย ในการส่งออกจำนวนเริ่มต้นnควรจะกระจายเพื่อคูณแต่ละคำ แต่ละเทอมaควรจะถูกคูณด้วยnการสร้างการแสดงออกในวงเล็บ(n*a)และคำศัพท์ใหม่เหล่านี้ควรจะรวมกับ+และ-เครื่องหมายในลักษณะเดียวกับที่เป็นคำดั้งเดิม อินพุตไม่ถูกต้อง นี่เป็นตัวอย่างของอินพุตที่คุณไม่ต้องจัดการ 3(5 plus 3) 6(5 13) (5+8)(6+6) (5+3)8 การชนะ นี่คือcode-golfดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

16
ผลรวมของตัวหารจากตัวประกอบกำลังหลัก
งานคือการคำนวณผลรวมของตัวหารของจำนวนที่ได้รับการแยกตัวประกอบเฉพาะ อินพุต สองอาร์เรย์ (หรือบางอย่างที่เทียบเท่า) ของความยาวnหนึ่งอันประกอบด้วยตัวประกอบหลักและตัวอื่นที่มีเลขชี้กำลังที่เกี่ยวข้อง เอาท์พุต ผลรวมของตัวหารทั้งหมด (รวมถึงตัวเลขเอง) ตัวอย่าง จำนวน 240 มี 2, 3 และ 5 เป็นปัจจัยสำคัญโดยมี 4, 1 และ 1 เป็นเลขชี้กำลัง ผลลัพธ์ที่คาดหวังจะเป็น 744 Input: [2,3,5] [4,1,1] Output: 744 เกณฑ์การให้คะแนน รหัสที่สั้นที่สุดเป็นไบต์ชนะ! หากความซับซ้อนของเวลาแก้ไขปัญหาของคุณคือ O (ผลรวมของเลขชี้กำลัง) แทน O (ผลคูณของเลขชี้กำลัง) คะแนนของคุณอาจถูกคูณด้วย 0.8 มีคำถามที่คล้ายกันโพสต์ที่นี่ แต่มันไม่ใช่เรื่องท้าทาย ฉันคิดว่าปัญหาน่าสนใจพอที่จะตีกอล์ฟได้ ผู้ชนะจะได้รับการคัดเลือกในสุดสัปดาห์นี้
11 code-golf  math  primes 

5
รหัสต่อเนื่องที่ยาวที่สุดที่สั้นที่สุด
งานของคุณเพื่อที่จะแก้ปัญหา SLCSC ซึ่งประกอบด้วยในการหารหัสที่สั้นที่สุดในการแก้ปัญหาร่วมกันที่ยาวที่สุด subsequence วิธีการแก้ปัญหาที่ถูกต้องในการแก้ไขปัญหา LCS สำหรับสองคนหรือมากกว่าสตริงS 1 ... S nใด ๆ สตริงTของความยาวสูงสุดเช่นว่าตัวละครของTปรากฏในทุกS ฉันในการสั่งซื้อเช่นเดียวกับในT โปรดทราบว่าTไม่ต้องย่อยสตริงของSฉัน ตัวอย่าง สตริงaxbyczและ xaybzcมี 8 ส่วนประกอบทั่วไปของความยาว 3: abc abz ayc ayz xbc xbz xyc xyz สิ่งเหล่านี้จะเป็นทางออกที่ถูกต้องสำหรับปัญหา LCS รายละเอียด เขียนโปรแกรมหรือฟังก์ชั่นที่แก้ปัญหา LCS ตามที่อธิบายไว้ข้างต้นโดยปฏิบัติตามกฎต่อไปนี้: การป้อนข้อมูลจะประกอบด้วยสองหรือมากกว่าสตริงที่มีตัวอักษรตัวพิมพ์เล็กเท่านั้น คุณสามารถอ่านสตริงเหล่านั้นเป็นอาร์เรย์ของสตริงหรือสตริงเดียวที่มีตัวคั่นที่คุณเลือก รหัสของคุณจะต้องส่งออกหนึ่งในวิธีแก้ปัญหาที่เป็นไปได้ใด ๆ ตามด้วยตัวเลือก linefeed หรือล้อมรอบด้วยคำพูด คุณอาจคิดว่าสตริงนั้นสั้นกว่า 1,000 ตัวอักษรและมีได้ไม่เกิน 20 สตริง ภายในขอบเขตเหล่านี้รหัสของคุณควรทำงานตามที่คาดไว้ในทางทฤษฎี (ให้เวลาและหน่วยความจำไม่ จำกัด …

1
ค้นหา Fenceposts
พื้นหลัง ระเบิดปรมาณูระเบิดใกล้โรงงานรั้วเสา! เนื่องจากเสารั้วมีความสำคัญต่อการอยู่รอดของอารยธรรมของเราเราจึงต้องช่วยเหลือผู้คนให้มากที่สุด เรากำลังส่งหุ่นยนต์ที่ทนต่อรังสีเพื่อค้นหาพื้นที่และเป็นหน้าที่ของคุณในการเขียนโปรแกรมการมองเห็นแบบประดิษฐ์ อินพุต การป้อนข้อมูลของคุณเป็นตารางสี่เหลี่ยมของตัวละคร|-#ซึ่งเป็นตัวแทนของส่วนเสารั้วสองประเภทและเศษหินหรืออิฐ เสารั้วได้รับบาดเจ็บสาหัสจากการระเบิดและบางส่วนก็ถูกหลอมรวมเข้าด้วยกันด้วยความร้อน เรากำหนดเสารั้วผู้สมัครให้เป็นรูปแบบแนวนอนที่เริ่มต้นและสิ้นสุด|และมีอย่างน้อยหนึ่ง-s ระหว่างพวกเขา (เช่น|-|หรือ|---|ไม่ แต่||) หรือรูปแบบแนวตั้งที่เริ่มต้นและสิ้นสุดใน-และมีอย่างน้อยหนึ่ง|s ระหว่างพวกเขา เสารั้วผู้สมัครในแนวนอนหมุน 90 องศา) fencepost ที่เกิดขึ้นจริงเป็น fencepost ผู้สมัครที่ไม่ได้มีส่วนร่วมใด ๆ ของส่วนของตนกับ fencepost ผู้สมัครอื่น เอาท์พุต ผลลัพธ์ของคุณคือจำนวนเสารั้วที่เกิดขึ้นจริงในตารางอินพุต ตัวอย่าง พิจารณากริดอินพุต |#|-|#|## #||--|||# ###|#|--# ###-||--| -#-|#-|#- #---#-#-| #-#-|#--| ตารางนี้มีผู้สมัคร 5 คน แต่มีเพียง 2 คนเท่านั้นที่เป็นเสารั้วจริง (แสดงเป็นตัวหนา) 2ดังนั้นการส่งออกที่ถูกต้องคือ กฎระเบียบ คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต กรณีทดสอบเพิ่มเติม การป้อนข้อมูล: ##-- ||## …

17
สามเหลี่ยมจตุรัส
ตัวเลขสแควร์คือตัวเลขที่อยู่ในรูปของn^2ที่ซึ่ง n เป็นจำนวนเต็ม สิ่งเหล่านี้เรียกอีกอย่างว่าสี่เหลี่ยมที่สมบูรณ์แบบเพราะเมื่อคุณนำสแควร์รูทของมันมาคุณจะได้จำนวน ตัวเลข 10 ตารางแรกคือ: ( OEIS ) 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 ตัวเลขสามเหลี่ยมคือตัวเลขที่สามารถสร้างรูปสามเหลี่ยมด้านเท่า ตัวเลขสามเหลี่ยม n-th เท่ากับผลรวมของจำนวนธรรมชาติทั้งหมดจาก 1 ถึง n ตัวเลขสามเหลี่ยม 10 ตัวแรกคือ: ( OEIS ) 0, 1, 3, 6, 10, 15, 21, 28, 36, 45 ตัวเลขสามเหลี่ยมจตุรัสคือตัวเลขที่มีทั้งสี่เหลี่ยมจัตุรัสและสามเหลี่ยม หมายเลขสามเหลี่ยม 10 ตารางแรกคือ: ( OEIS ) …
11 code-golf  number 

1
ทำให้แผนที่การตัดสินใจของฉันเป็นปกติ
เขียนฟังก์ชันหรือโปรแกรมที่ประมวลผลบล็อกข้อความและส่งคืนข้อความใหม่ โปรแกรมที่ถูกต้องที่เล็กที่สุดชนะ แต่ละบรรทัดในบล็อกข้อความจะมีรูปแบบต่อไปนี้: 12:34,56 หมายเลขแรกคือ ID บรรทัดส่วนอีกสองหมายเลขคั่นด้วยเครื่องหมายจุลภาคเป็นการอ้างอิงถึงบรรทัดอื่น ในข้อความอินพุตตัวเลขสามารถเป็นจำนวนเต็มใด ๆ ที่มากกว่าหรือเท่ากับ 0 ตัวเลขทั้งหมดจะเป็นทศนิยมทศนิยม ASCII ที่ไม่มีเลขศูนย์นำหน้า จะไม่มีรหัสบรรทัดที่ซ้ำกัน จะไม่มีการอ้างอิงถึง ID บรรทัดที่ไม่มีอยู่แม้ว่าอาจมี ID บรรทัดที่ไม่ได้อ้างอิง ในข้อความเอาต์พุตบรรทัดที่มีหมายเลขต่ำสุดจะถูกย้ายไปที่จุดเริ่มต้นของบล็อกข้อความและกำหนดหมายเลขใหม่เป็น 0 การอ้างอิงใด ๆ กับบรรทัดนี้ต้องถูกอัพเดตด้วย การอ้างอิงแรกในบรรทัดนั้นต้องเป็น 0 หรือ 1 การอ้างอิงที่สองสามารถเป็น 2 ได้หากการอ้างอิงแรกคือ 1 มิฉะนั้นจะต้องเป็น 0 หรือ 1 บรรทัดทั้งหมดต้องอยู่ในลำดับขึ้นและลง (ไม่มีตัวเลขที่ข้าม) คุณสามารถมีการอ้างอิงถึงบรรทัด n เท่านั้นหากมีการอ้างอิงก่อนหน้าไปที่บรรทัด n-1 หรือ ID บรรทัดปัจจุบันคือ n ต้องไม่มีบรรทัดที่ไม่ได้อ้างอิงโดย ID บรรทัดล่างยกเว้นบรรทัด …
11 code-golf 

2
หาโพลีนีโม!
ไม่นะ! นีโมปลาตัวตลกของเราหายไปในมหาสมุทร ASCII และพ่อของเขามาร์ลินกำลังพยายามตามหาเขา งานของคุณคือนำ Marlin ไป Nemo อย่างปลอดภัย แต่ระวังเรามีบรูซบ้าคลั่งให้อาหารที่หลวมดังนั้นหลีกเลี่ยงเขาได้ดีกว่า! รายละเอียด คุณจะได้รับตาราง ASCII a-zทะเลเป็นรูปสี่เหลี่ยมผืนผ้าที่มีตัวอักษรตัวพิมพ์เล็กเท่านั้น ทะเลแห่งนี้จะมีnemo, marlinและbruceภายในนั้นในรูปแบบของ polyomino อย่างต่อเนื่องเสมอเริ่มต้นจากด้านบนมือถือมากที่สุดในคอลัมน์แรกของ polyomino ตัวอย่างเช่นจาก tetrominos ที่เป็นไปได้ทั้งหมดรายการที่ถูกต้องจะแสดงรายการในตัวอย่างด้านล่าง แสดงตัวอย่างรหัส nemo n e m o no em ne om nem o o nem n e mo o m ne ne m o n emo ne mo n …

2
เรากำลังควบคุมไม่ได้หมอ!
หมอในความพยายามที่จะหลบหนีจากกองกำลังดาได้ตัดสินใจที่จะส่งพวกเขาในการหมุนโดยการเดินทางในกระเป๋าหลายช่องว่างในการเคลื่อนไหวเกลียว ขึ้นอยู่กับลักษณะของพื้นที่ว่างเวลาหมอต้องเข้าสู่ควานหาควบคุมความสูงและความกว้างของส่วนของพื้นที่และจุดเข้าของเขาที่จะเริ่มเกลียว ส่วนของพื้นที่สามารถมองเห็นเป็นกริดh x w ที่เต็มไปด้วยจำนวนเต็มตามลำดับจากซ้ายไปขวาบนลงล่างเริ่มต้นด้วย 1 ตำแหน่งเริ่มต้นให้เป็นRCสำหรับแถวและคอลัมน์ ... จากนี้ซอฟแวร์ควานหาของความต้องการที่จะคายออกรายการสั่งซื้อของจำนวนเต็มได้โดยการลอยออกไปในทิศทางทวนเข็มนาฬิกาจากแถวRคอลัมน์คเริ่มต้นขึ้น ... งานของคุณในฐานะเพื่อนร่วมงานของหมอคือการเขียนโปรแกรมควานหาเพื่อให้ได้ตัวเลขสี่ตัวในรูปแบบheight width row columnและกำหนดให้ภาคส่วนของพื้นที่ที่ควานหาจำเป็นต้องเดินทางเพื่อให้ตรงกับการเคลื่อนไหวหมุนวนที่อธิบายไว้ด้านล่าง ... อินพุต 1 5 5 3 3 (ตาราง 5 x 5 เริ่มต้นที่ตำแหน่ง 3,3) เอาท์พุท 1 13 8 7 12 17 18 19 14 9 4 3 2 1 6 11 16 21 22 23 24 …
11 code-golf 

12
CodeGolf - Barry นักพัฒนาที่ยุ่งเหยิง # 2
นี่คือการติดตามของ CodeGolf - ละเว้นเสียง # 1 ปัญหาเดียวที่ Barry ทำสิ่งเลวร้ายยิ่งสำหรับเรา ให้ดูว่าเกิดอะไรขึ้น ปรับปรุง ฉันได้เพิ่มโค้ดเพื่อสร้างอินพุตแบบสุ่มและเอาต์พุตที่คาดไว้เพราะฉันอธิบายความต้องการของฉันไม่ดีและฉันเดาว่าบางครั้งคำอาจทำให้เข้าใจผิดมากกว่ารหัส (ไม่ใช่หรือเปล่า?) ลักษณะ วิธีการในอีกใบ้คอร์ป API 's ช่วยให้เราราคาปัจจุบันผู้ให้บริการจะให้เราสำหรับรายการราคาที่ดีที่สุดที่เราจะทำยอดขายสูงสุดและมีแนวโน้มของราคาที่เมื่อเทียบกับราคาก่อนหน้านี้เป็นสตริงหรือUP DOWNเราจำเป็นต้องตัดสินใจว่าควรลบรายการออกจากร้านค้าหรือรอ อินพุต 80,90,UP 150,100,DOWN 65,65,UP 1618,1618,DOWN 840,1200,DOWN 54,12,UP 30,1,UP สำหรับการสาธิตตัวอย่างอินพุตขนาดใหญ่ที่มีเอาต์พุตที่คาดหวังให้ใส่โค้ดต่อไปนี้ (js) ในคอนโซลเบราว์เซอร์ของคุณและควรเอาต์พุตอินพุตสุ่มที่ถูกต้องสำหรับการทดสอบ var output = ""; var result = ""; for(i=10;i--;){ var currentPrice = Math.floor(Math.random() * 10000) + 1; var optimalPrice = …

6
ผลิตภัณฑ์ที่ตัดแบ่งสูงสุด
เราจะได้รับรายการจำนวนเต็ม p1, ... , pk (ไม่จำเป็นต้องชัดเจน) โดยที่แต่ละค่ามีค่าระหว่าง 1 ถึง 9 การใช้แต่ละ p1, ... , pk เพียงครั้งเดียวเราสามารถสร้างการเรียงตัวของตัวเลขเพื่อให้ได้รายการตัวเลขใหม่ จากนั้นเราจะส่งออกผลิตภัณฑ์ของรายการใหม่นี้ เป้าหมายคือเพื่อเพิ่มผลิตภัณฑ์นี้โดยการเลือกการต่อข้อมูลที่ดีที่สุดของตัวเลข ตัวอย่างเช่นเราได้รับรายการ: 2 3 2 (คั่นด้วยช่องว่าง) เราสามารถสร้างการเรียงต่อกันดังต่อไปนี้: 2 3 2(ผลิตภัณฑ์ของการต่อข้อมูลเหล่านี้คือ12) 23 2(ผลิตภัณฑ์คือ46) 32 2(ผลิตภัณฑ์คือ64) 22 3(ผลิตภัณฑ์คือ66) เนื่องจากผลิตภัณฑ์ที่ใหญ่ที่สุดที่เราสามารถทำการต่อกันได้คือ 66 เราจึงส่งออก กฎ: ต้องมีการคูณอย่างน้อยหนึ่งรายการ (เช่นคุณไม่สามารถต่อตัวเลขและเอาท์พุททั้งหมดเข้าด้วยกันได้) คุณไม่สามารถใช้โอเปอเรเตอร์อื่นนอกเหนือจากการคูณหรือใส่วงเล็บเป็นต้น สมมติว่ารายการจำนวนเต็มที่กำหนดถูกคั่นด้วยช่องว่างและจำนวนเต็มทั้งหมดมีค่าระหว่าง 1 ถึง 9 รหัสที่สั้นที่สุด (เป็นไบต์) ชนะ! กรณีทดสอบ: อินพุต: 1 …

2
Y-Wing Strategy สำหรับ Sudoku
ฉันเพิ่งได้แอป Sudoku ใหม่ที่ผลิตยากของ Sudoku ซึ่งไม่สามารถแก้ไขได้ด้วยกลยุทธ์มาตรฐาน ดังนั้นฉันต้องเรียนรู้ใหม่ ๆ หนึ่งในกลยุทธ์เหล่านี้เป็นY-Wing กลยุทธ์ มันถูกจัดอันดับภายใต้ "กลยุทธ์ที่ยากลำบาก" แต่จริงๆแล้วมันไม่ได้ยากขนาดนั้น ตัวอย่าง สำหรับกลยุทธ์นี้มีเพียง 4 เซลล์เท่านั้นที่มีความสำคัญ ดังนั้นฉันจึงไม่สนใจเซลล์อื่นทั้งหมดในภาพ เราดูผู้สมัครทั้งหมดสำหรับแต่ละเซลล์ ในตัวอย่างต่อไปนี้เรามีมือถือที่มีผู้สมัครที่3 7(นั่นหมายความว่าเราได้ปฏิเสธไปแล้วผู้สมัคร1 2 4 5 6 8 9เช่นเพราะมี1ในแถวเดียวกัน2ในเดียวกันกล่อง 3x3, ... ), มือถือที่มีผู้สมัคร6 7, เซลล์ที่มีตัวเลือก3 6และเซลล์ที่มีตัว2 6เลือก กลยุทธ์ Y-Wing จะแนะนำว่า6สามารถลบออกจากผู้สมัครของเซลล์อย่างจริงจังปล่อยให้เป็นเพียง2ผู้สมัครซึ่งคุณสามารถกรอกดังนั้นเราจึงพบจำนวนที่ถูกต้องและเป็นหนึ่งในการแก้ซูโดกุเต็มขั้น ทำไมถึง6ถูกลบ? คำอธิบาย ขอให้เราสมมติว่า6จำนวนที่ถูกต้องสำหรับเซลล์อย่างจริงจัง ขณะนี้มี6คอลัมน์อยู่ในคอลัมน์นี้ดังนั้นเราจึงสามารถลบออก6จากผู้สมัครของเซลล์ด้านบนขวาเหลือเพียง a 7ซึ่งเราสามารถกรอกได้สิ่งเดียวกันนี้เกิดขึ้นกับเซลล์ด้านซ้าย เราสามารถลบและกรอกข้อมูลใน6 3ตอนนี้ถ้าเราดูที่เซลล์ด้านบนซ้ายเราจะได้รับความขัดแย้ง เพราะตอนนี้มีอยู่แล้ว7ในแถวเดียวกันและ3ในคอลัมน์เดียวกันเพื่อให้เราสามารถลบ7และ3ของผู้สมัครออกจากผู้สมัครที่ไม่ทั้งหมด ซึ่งเห็นได้ชัดว่าเป็นไปไม่ได้ ดังนั้น 6 ไม่สามารถเป็นจำนวนที่ถูกต้องของเซลล์อย่างจริงจัง …
11 code-golf  sudoku 

4
เสียงของคำ
ผู้คนเขียนหลายสิ่งหลายอย่างเพื่อให้มองเห็นสิ่งหนึ่ง ตอนนี้ฉันขอเสนอความสามารถในการแปลจดหมายเป็นเพลง! C3-C8งานของคุณในการเขียนโปรแกรมที่ใช้ไฟล์ข้อความและเอาท์พุทไฟล์เสียงที่มีตัวอักษรแต่ละตัวแปลงที่จะต้องทราบที่เฉพาะเจาะจงจาก ข้อสงวนสิทธิ์ - ฉันไม่คาดหวังว่าเพลงจะฟังดูดี แต่ฉันหวังว่าจะประหลาดใจ ข้อมูลจำเพาะ คุณใช้ชื่อของไฟล์เป็นสตริงและBPM (ครั้งต่อนาที) เป็น int คุณทำให้ตัวพิมพ์ใหญ่Aเป็นบันทึกย่อC3 และขึ้นไปครึ่งขั้นสำหรับตัวละครทุกตัวหลังจากตามลำดับนี้: ABCDEFGHIJKLMNOPQRSTUVWXYZ ()-,;.'"abcdefghijklmnopqrstuvwxyz ใช่ไม่ใช่ว่าทุกตัวละครจะใช้ตั้งแต่นั้นจะขยายอ็อกเทฟมากเกินไป คุณแปลอักขระทุกตัวในไฟล์ด้วยวิธีนี้ วางบันทึกย่อไว้ด้วยกันที่ BPM ที่กำหนดเป็นบันทึกย่อรายไตรมาส บันทึกเป็นไฟล์เสียง (ฉันคาดเดา midi จะเป็นวิธีที่ง่ายที่สุด แต่ก็ไม่เป็นไร) หรือเล่น รูปแบบการป้อนข้อมูลใด ๆ ที่เป็นปกติ ไม่มีช่องโหว่มาตรฐาน นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ! โบนัส อนุญาตให้transposingของการส่งออก - 50 ไบต์ อนุญาตให้ซ้อนทับแทร็กหลายแทร็กโดยถ่ายหลายไฟล์ - 75 ไบต์ เข้าร่วมจดหมายที่ต่อเนื่องกันในบันทึกย่ออีกหนึ่ง - 50 ไบต์ แก้ไข:ว้าวเรามีคะแนนติดลบ ฉันจะประกาศผู้ชนะในวันเสาร์
11 code-golf  music  audio 

3
ล้อมรอบผลที่ตามมา
บทนำ ในความท้าทายนี้งานของคุณคือการหาลำดับทั่วไปของสตริง การเรียงลำดับไม่จำเป็นต้องต่อเนื่องกันและพวกเขายังสามารถ "ล้อมรอบ" สตริงได้ผ่านจุดสิ้นสุดและเริ่มต้นอีกครั้งจากจุดเริ่มต้น คุณจะต้องลดจำนวนการตัดให้เหลือน้อยที่สุด เป็นทางการมากขึ้นให้uและvเป็นสองสายใด ๆ และk ≥ 0จำนวนเต็ม เราบอกว่าuเป็นksubsequence -wrappingของvถ้ามีดัชนีที่แตกต่างกันเช่นว่าและที่มากที่สุดของดัชนีความพึงพอใจ ซึ่งหมายความว่าสามารถพบได้ในโดยไปจากซ้ายไปขวาเลือกบางส่วนของตัวละครเกี่ยวกับวิธีการและการตัดรอบที่มากที่สุดเท่า (เท่าที่มากที่สุดทำเรตติ้งทั่ว) โปรดทราบว่าไม่มีตัวเลือกใดที่สามารถเลือกได้มากกว่าหนึ่งครั้งแม้กระทั่งหลังการล้อมรอบและการเรียงลำดับการห่อหุ้มนั้นเป็นชุดประกอบสามัญที่เราทุกคนคุ้นเคยi1, i2, ..., ilen(u)u == v[i1] v[i2] ... v[ilen(u)]kijij > ij+1uvkk+1v0 งาน ปัจจัยการผลิตของคุณมีสองสายที่เป็นตัวเลขไม่ว่างเปล่าuและvและส่งออกของคุณเป็นที่เล็กที่สุดจำนวนเต็มkดังกล่าวว่าuเป็นksubsequence -wrapping vของ หากไม่มีการดังกล่าวมีอยู่แล้วการส่งออกจะเป็นk-1 ตัวอย่าง พิจารณาปัจจัยการผลิตและu := xyzyxzzxyx v := yxzzazzyxxxyzถ้าเราเริ่มมองหาตัวละครของuในvในแฟชั่นโลภเราจะห่อรอบ 3 ครั้ง: yxzzazzyxxxyz >─x─────y────z┐ ┌─────────────┘ └y───────x────┐ ┌─────────────┘ └──zz─────x─y─┐ ┌─────────────┘ └──────────x──> ดังนั้นผลลัพธ์ที่ถูกต้องคือสูงสุด 3 …

6
ส่ง Pi ... อย่างแม่นยำ
ต่อจากการประมาณค่า Monte Carlo ของ Piความท้าทายนี้คือการสร้างรหัสที่สั้นที่สุดสำหรับค่าคงที่ Pi ยกเว้นที่นี่รหัสของคุณจะต้องส่งออกตัวเลข pi ติดต่อกันตลอด นี่คือรหัสกอล์ฟดังนั้นการส่งที่สั้นที่สุด (เป็นไบต์) ชนะยกเว้นว่าจะต้องส่งออก 10,000 หลักแรกในเวลาน้อยกว่า 10 วินาทีบนพีซีที่เหมาะสมและจะต้องไม่สิ้นสุด คุณไม่สามารถใช้ฟังก์ชั่น Pi หรือ Trig ในตัวได้ ลบขีด จำกัด ฮาร์ดในขนาดรหัส
11 code-golf  math  pi 

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