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

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

15
ตัวเลขที่สลับกัน
พิจารณาอาร์เรย์ของจำนวนเต็มบวก: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ... จากนั้นเรียงต่อกัน: 1234567891011121314151617181920212223242526... แล้วแยกออกเป็นส่วน ๆ ของความยาวแปรผันแต่ละความยาวเท่ากับจำนวนเต็มบวกN th: [1][23][456][7891][01112][131415][1617181][92021222][324252627][2829303132] ... --------------------------------------------------------------------------- 1 2 3 4 5 6 7 8 9 10 ... งาน รับจำนวนเต็มN (บวกสำหรับการจัดทำดัชนี 1 หรือไม่เป็นลบสำหรับการจัดทำดัชนี 0) งานของคุณคือการส่งออกผลรวมของเดลต้าของตัวเลขในก้อนที่N (ความแตกต่างระหว่างตัวเลขต่อเนื่อง) ช่องโหว่ที่ต้องห้ามที่เป็นค่าเริ่มต้นจะมีผล ใช้วิธีการอินพุตและเอาต์พุตมาตรฐาน คุณอาจเลือกที่ 0 หรือ 1 การจัดทำดัชนีสำหรับN …

1
ทำลายสตริง!
ท้าทาย รับอินพุตสตริงส่งออกเวอร์ชันที่ทำลายแล้ว กระบวนการ P r Pr r o o o g g g r r r rogr r a -> a -> a -> a -> a -> -> -> -> -> m m m m m m m m m m mmar m i i i i i i …

15
สร้างลำดับตัวชี้
ช่วยให้กำหนดลำดับตัวชี้ไปเป็นลำดับใด ๆ ดังกล่าวที่A (n) = a ((n-1) - (หนึ่ง (n-1))) forall nมากกว่าจำนวน จำกัด บางอย่าง ตัวอย่างเช่นถ้าลำดับของเราเริ่มต้นด้วย 3 2 1 เทอมถัดไปของเราจะเป็น2เพราะ(n-1) = 1 , (n-1) -1 = 1 , a (1) = 2 (ตัวอย่างนี้คือดัชนีศูนย์ แต่ไม่สำคัญว่าดัชนีใดที่คุณใช้การคำนวณจะ เหมือนเดิมเสมอ) ถ้าเราทำซ้ำกระบวนการเราจะได้ลำดับที่ไม่มีที่สิ้นสุด 3 2 1 2 2 1 2 2 1 2 2 1 2 2 1 …

23
รวมความหมายของจำนวนเต็มสองจำนวน
คณิตศาสตร์มีวิธีการค่อนข้างน้อยเช่นค่าเฉลี่ยเลขคณิตค่าเฉลี่ยเรขาคณิตและอื่น ๆ ... คำจำกัดความและภารกิจ โปรดทราบว่าสิ่งเหล่านี้เป็นคำจำกัดความของจำนวนเต็มบวกสองตัว : สแควร์รูทเฉลี่ยคือสแควร์รูทของผลรวมของสี่เหลี่ยมจัตุรัสลดลงครึ่งหนึ่ง ( ) มัชฌิมเลขคณิตคือผลรวมของพวกเขาลดลงครึ่งหนึ่ง ( ) เฉลี่ยเรขาคณิตเป็นรากที่สองของผลิตภัณฑ์ของพวกเขา ( ) เฉลี่ยฮาร์โมนิเป็น2หารด้วยผลรวมของการแปรผกผันกันของพวกเขา ( = ) ได้รับสองจำนวนเต็มและข ดังกล่าวว่ามี b ∈ [1, + ∞)สรุปวิธีการดังกล่าวข้างต้นของและข คำตอบของคุณจะต้องแม่นยำอย่างน้อย 3 ตำแหน่งทศนิยม แต่คุณไม่ต้องกังวลเกี่ยวกับข้อผิดพลาดความแม่นยำในการปัดเศษหรือทศนิยม กรณีทดสอบ a, b -> เอาท์พุท 7, 6 -> 25.961481565148972 10, 10 -> 40 23, 1 -> 34.99131878607909 2, 4 -> …

11
หมายเลขสรุปตนเอง
แปลงตัวเลขเป็นผลรวมของตัวเลข ไม่ใช่ผลรวมใด ๆ :เราต้องการผลรวมที่สั้นที่สุด ไม่ใช่ตัวเลขใด ๆ :คุณสามารถใช้ตัวเลขได้เท่านั้น ตัวอย่าง คุณจะได้รับเป็นอินพุตจำนวนเต็มn>0 n=27สมมติว่า คุณต้องแสดง27เป็นผลรวมโดยใช้เฉพาะตัวเลข [2,7]ในทางที่สั้นที่สุด คุณไม่จำเป็นต้องใช้ตัวเลขทั้งหมดของตัวเลขที่กำหนด! 27=2+2+2+7+7+7ดังนั้น จากนั้นเราจะใช้ตัวเลขเหล่านั้นและนับพวกเขา[2,2,2,7,7,7] : คำตอบสุดท้ายสำหรับn=27คือ6 อีกตัวอย่างหนึ่งn=195เพื่อให้ได้ผลรวมสั้นที่สุดเราต้องใช้ตัวเลขต่อไปนี้: [5,5,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9]และคำตอบคือ23 ความท้าทาย รับจำนวนเต็มn>0ส่งออกจำนวนหลักขั้นต่ำ (มีอยู่ในจำนวน) ที่รวมถึงจำนวนนี้ กรณีทดสอบ Input->Output 1->1 2->1 10->10 58->8 874->110 1259->142 12347->1765 123456->20576 3456789->384088 นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดเป็นไบต์ชนะ!

30
อุปกรณ์ของฉันทำงานผิดปกติ ... ละเมิดพฤติกรรมสตริงที่ไม่ได้กำหนด!
ช่วยด้วย! อุปกรณ์ของฉันทำงานผิดปกติและเมื่อใดก็ตามที่ฉันพยายามที่จะทำซ้ำสตริงฉันได้รับผลลัพธ์ที่ยุ่งเหยิง แทนที่จะทำซ้ำสตริงเดิมNครั้งมันจะเติมตารางNxNด้วยอักขระแต่ละตัวและเติมสี่เหลี่ยมขึ้น ตัวอย่างเช่นกำหนด String "Test"และจำนวน2แทนที่จะ"TestTest"ได้รับ: TT TT ee ee ss ss tt tt หลังจากที่ฉันเห็นสิ่งนี้มาระยะหนึ่งฉันก็เริ่มชอบมัน งานของคุณในวันนี้คือการทำซ้ำพฤติกรรมที่แปลกประหลาดนี้ รับสตริงที่ไม่ว่างซึ่งประกอบด้วย ASCII ที่พิมพ์ได้เท่านั้นและจำนวนเต็มบวกส่งออกอุปกรณ์ของฉันที่ชำรุด String ใช้กฎมาตรฐานทั้งหมด อินพุตและเอาต์พุตอาจได้รับการจัดการผ่านค่าเฉลี่ยที่สมเหตุสมผล นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ในแต่ละภาษาจะชนะ กรณีทดสอบ อินพุต เอาท์พุต ---------- "ทดสอบ", 2 TT TT จ จ เอสเอส เอสเอส TT TT ---------- "UuU", 3 UUU UUU UUU uuu uuu uuu UUU UUU UUU ---------- …
12 code-golf  string 

7
จำนวนผลรวมของปัจจัย
ป.ร. ให้ไว้เป็นจำนวนเต็มบวกn> 1ตรวจสอบจำนวนตัวเลขที่สามารถทำได้โดยการเพิ่มจำนวนเต็มสินค้ามากกว่า 1 ซึ่งเป็นn ตัวอย่างเช่นถ้าn = 24เราสามารถแสดงnเป็นผลิตภัณฑ์ในวิธีต่อไปนี้ 24 = 24 -> 24 = 24 24 = 12 * 2 -> 12 + 2 = 14 24 = 6 * 2 * 2 -> 6 + 2 + 2 = 10 24 = 6 * 4 -> 6 + 4 …

5
Mozilla / 1.0 Mozilla / 2.0 Mozilla / 3.0 Mozilla / 4.0 Mozilla / 5.0
ในตอนแรกมี NCSA Mosaic และ Mosaic เรียกตัวเองNCSA_Mosaic/2.0 (Windows 3.1)และ Mosaic แสดงรูปภาพพร้อมข้อความและมีความยินดีอย่างมาก 15 ปีต่อมา ... จากนั้น Google ก็สร้าง Chrome และ Chrome ใช้ Webkit และมันก็เหมือนกับ Safari และต้องการหน้าเว็บที่สร้างขึ้นสำหรับ Safari และแสร้งทำเป็นเป็น Safari ดังนั้น Chrome จึงใช้ WebKit และแสร้งเป็น Safari และ WebKit แกล้งเป็น KHTML และ KHTML แกล้งทำเป็นตุ๊กแกและเบราว์เซอร์ทั้งหมดแกล้งทำเป็น Mozilla และ Chrome เรียกตัวเองMozilla/5.0 (Windows; U; Windows NT 5.1; en-US) …

13
ข้ามเหมือนกบ!
ด้วยอาร์เรย์ของจำนวนเต็มที่ไม่เป็นลบงานของคุณคือการเก็บองค์ประกอบบางอย่างเท่านั้นตามที่อธิบายไว้ด้านล่าง [1, 3, 2, 4, 11, 5, 2, 0, 13, 10, 1]สมมติว่าอาร์เรย์คือ ก่อนรับองค์ประกอบแรกของอาร์เรย์, n. เก็บnองค์ประกอบแรกและทิ้งองค์ประกอบถัดไป (ทิ้งองค์ประกอบที่n+1th) [1, 2, 4, 11, 5, 2, 0, 13, 10, 1]อาร์เรย์ใหม่คือ จากนั้นคุณคว้าองค์ประกอบตามที่ลบออกและทำสิ่งเดียวกัน นำกระบวนการไปใช้ใหม่[1, 2, 11, 5, 2, 0, 13, 10, 1] คุณทำซ้ำกระบวนการจนกว่าคุณจะมาถึงนอกขอบเขตของอาเรย์ / ไม่มีองค์ประกอบที่เหลือในอาเรย์ เราหยุดเพราะ11สูงกว่าความยาวของอาร์เรย์ ตอนนี้คุณควรส่งออกผลลัพธ์ อินพุต / เอาต์พุตอาจถูกถ่าย / จัดให้ในรูปแบบมาตรฐานใด ๆ อาร์เรย์จะไม่ว่างเปล่าและจะมีเฉพาะจำนวนเต็มที่ไม่เป็นลบ ช่องโหว่มาตรฐานทั้งหมดถูกห้าม นี่คือโค้ดกอล์ฟเพื่อให้โค้ดที่สั้นที่สุดเป็นไบต์ชนะ! …

1
ตัวเลขคอมโพสิตคุณภาพสูงที่เหนือกว่า
หมายเลขคอมโพสิตสูงที่เหนือกว่าเป็นจำนวนเต็มโดยอัตราส่วนของจำนวนตัวหารต่อจำนวนกำลังของตัวเลขนั้นสูงที่สุดเท่าที่จะเป็นไปได้ แสดงสิ่งนี้เป็นสูตร: ให้ d (n) เป็นจำนวนตัวหารของ n รวมถึงตัวเลขด้วย สำหรับจำนวนเต็ม n ที่ระบุหากมีจำนวน e เช่นนั้น d (n) / n ^ e มากกว่าหรือเท่ากับ d (k) / k ^ e สำหรับจำนวนเต็ม k ทุกตัวดังนั้น n จึงเป็นจำนวนที่ประกอบกันมาก หากต้องการข้อมูลเพิ่มเติมโปรดดูหมายเลขคอมโพสิตที่สูงเป็นพิเศษที่ Wikipedia หรือA002201ที่ OEIS นี่คือค่าเริ่มต้น: 2, 6, 12, 60, 120, 360, 2520, 5040, 55440, 720720, 1441440, 4324320, 21621600, 367567200, …

3
สุขสันต์วันเกิดขอเค้กกันเถอะ!
มันเป็นวันเกิดของเพื่อนฉันในไม่ช้าและเนื่องจากเขาเป็นโปรแกรมเมอร์และคนรักงานศิลปะ ASCII ฉันคิดว่าฉันจะทำให้เขาเป็นเค้ก ASCII! น่าเศร้าที่ฉันลืมอายุปัจจุบันของเขาดังนั้นฉันจึงต้องการมีโปรแกรมสำหรับเตาอบ ASCII ของฉันที่อบเค้กด้วยจำนวนเทียนที่ระบุดังนั้นฉันไม่ต้องทำเองถ้าฉันทำผิดกับเขา อายุ. ASCII เตาอบเพียง แต่มีหน่วยความจำและความจุที่ จำกัด ดังนั้นจึงควรใช้ไบต์น้อยที่สุดที่เป็นไปได้ งานของคุณ: เขียนโปรแกรมที่ส่งเค้กวันเกิดไปยังคอนโซลโดยมีเทียนให้มากที่สุดเท่าที่อินพุตระบุ ข้อกำหนดเค้กคือ: มันจะต้องมีเส้นขอบสร้างขึ้นจากแนวนอน-และแนวตั้งเส้นและจุด|+ อย่างน้อย 5 ตัวอักษรกว้าง (รวมถึงชายแดนเค้ก|) อย่างน้อย 5 ตัวอักษรสูง (รวมถึงชายแดนเค้ก-) จะต้องมีตัวอักษรช่องว่างระหว่างชายแดนเค้กและฐานเทียนแรก (ไม่ใช่เปลวไฟ) ในแต่ละด้านยกเว้นว่ามีเปลวไฟในพื้นที่นั้น เปลวไฟหรือเทียนฐานไม่ควรซ้อนทับขอบเค้ก ความกว้างสูงสุดของเค้กคือ 9 ตัวอักษรดังนั้นจึงมีสูงสุด 5 เทียนต่อแถว เนื่องจากเราไม่ต้องการให้เค้กของเราเป็นแบบสองมิติมันจะต้องมีความสูงเพิ่มอีก 2 แถวเพื่อให้ได้ปริมาตร เพิ่มชายแดนอื่นที่ด้านล่างและเชื่อมต่อจุดกับคนที่เหนือกว่าพวกเขาอีกครั้งใช้อักขระ ASCII จากด้านบน ( -, |และ+) ความต้องการเทียนคือ: ประกอบด้วยฐาน|และเปลวไฟ*โดยมีเปลวไฟซ้อนอยู่ด้านบนของฐาน เทียนอาจไม่ได้อยู่ติดกันกับคนอื่น ๆ ยกเว้นเส้นทแยงมุม เทียนถูกวางจากซ้ายไปขวาจากนั้นจากบนลงล่างโดยมี 5 …

13
การแก้ไขลำดับการสลับลับ
นี่คือตำรวจและโจรท้าทายด้ายตำรวจสามารถพบได้ที่นี่ นี่คือเธรดโจรงานของคุณในที่นี้คือการส่งผลงานในหัวข้อตำรวจและพยายามหาลำดับที่ซ่อนอยู่ หากคุณพบว่ามีลำดับใด ๆ ที่สามารถทดแทนลงในรหัสต้นฉบับเพื่อคำนวณลำดับที่เป็น crack ที่ถูกต้อง โปรดแจ้งตำรวจของคุณถึงรอยแตกที่เกิดขึ้นเพื่อให้พวกเขาสามารถอัปเดตคำตอบได้ เกณฑ์การให้คะแนน คะแนนของคุณจะเป็นจำนวนรอยแตกที่คุณทำสำเร็จและรอยแตกที่ดีขึ้น

11
ประวัติผู้ช่วยทำการบ้าน
การอ่านประวัติและจดบันทึกของฉันฉันอดไม่ได้ที่จะเขียนวันที่ยาว ๆ เหล่านี้ทั้งหมด –– 1784 คือการยกดินสอทั้งหกตัว! jǝǝz! อย่างที่คุณเห็นฉันชอบโปสเตอร์ที่ท้าทายที่สุดในไซต์นี้ - ขี้เกียจเมื่อพูดถึงการเขียนเรื่อง ดังนั้นฉันขอให้คุณช่วยฉันย่อวันที่ให้สั้นลง แน่นอนว่าทางออกของคุณจะต้องสั้นที่สุดเท่าที่จะเป็นไปได้เพราะมือของฉันเหนื่อยล้าจากการเขียนการพิมพ์กรณีทดสอบ ฉันจะร่นวันได้อย่างไร ตลกดีที่คุณควรถาม มันค่อนข้างง่าย: ใช้จำนวนเต็มสองจำนวนเป็นอินพุตตามลำดับที่คุณต้องการ ( (smallest, biggest)หรือ(biggest, smallest)) ใช้จำนวนที่มากขึ้นของทั้งสองและใช้เฉพาะส่วนที่ไม่ได้อยู่ในจำนวนที่น้อยกว่า ตัวอย่างเช่นที่กำหนดให้2010, 2017ย่อ2017ให้สั้นลง-7เนื่องจาก201_เป็นทั้งที่ตำแหน่งหลักเดียวกัน พิมพ์หรือคืนค่าจำนวนที่น้อยกว่าตามด้วยเครื่องหมายขีดจากนั้นจำนวนที่สั้นกว่านั้น ตัวอย่างเช่น: Bonus brownies for you if you figure out these dates' significance :) 1505, 1516 -> 1505-16 1989, 1991 -> 1989-91 1914, 1918 -> 1914-8 1833, …
12 code-golf  number 

12
เดินทางกลับใน Quine
ความท้าทายที่นี่นั้นง่ายและไม่เกี่ยวกับจำนวนไบต์ งานของคุณคือส่งออกอักขระ 50 ตัวแรกของซอร์สโค้ดของ quine ก่อนหน้าโดยต่อกับอักขระ 50 ตัวแรกของคุณเริ่มต้นด้วยอักขระ 50 ตัวที่ฉันได้วางไว้ด้านล่าง: abcdefghijklmnopqrstuvwxyzACDEFGHIJKLMNOPQRSTUVWXY ลองมาตัวอย่างที่นี่ถ้าคุณต้องตอบใน 05AB1E วิธีแก้ปัญหาเพียงแค่ส่งออก 50 ไบต์แรกจะเป็น: ži50£ ซึ่งหมายความว่าคุณต้องแสดงผล: abcdefghijklmnopqrstuvwxyzACDEFGHIJKLMNOPQRSTUVWXYži50£ หากโปรแกรมของคุณสั้นลงเพียงใช้x < 50อักขระตัวแรก หากโปรแกรมของคุณต่อเชื่อมอักขระ 50 ตัวแรกให้ยาวขึ้นให้ลงท้ายด้วยอักขระที่ 50 บุคคลต่อไปจะต้องส่งออกอักขระ 50 ตัวแรกของ quine ของคุณที่ต่อกับรหัสของตัวเอง รหัสของคุณสามารถมีขนาดใดก็ได้ แต่คุณควรส่งออก 50 ตัวอักษรแรกของรหัสของคุณตัดกับส่วนท้ายของ 50 ไบต์แรกของรหัสคำตอบก่อนหน้านี้ ข้อ จำกัด: สิ่งนี้ใช้คำนิยามของควินินที่เหมาะสมและนอกจากนี้สิ่งต่อไปนี้: ความคิดเห็นไม่ได้รับอนุญาตทั้งหมด ให้ความสนใจกับส่วนนี้อาจทำให้เกิดลูปลูปเกิดขึ้นอย่างต่อเนื่อง วิธีการโพสต์คำตอบที่ถูกล่ามโซ่: โพสต์ตัวยึดตำแหน่ง: พูดถึงหมายเลขคำตอบและภาษาที่คุณจะใช้ เรียงตามวันที่ถ้าคุณสังเกตเห็นคนอื่นโพสต์ตัวยึด 1 มิลลิวินาทีก่อนคุณ: ลบของคุณรอโอกาสต่อไปขอโทษ หากคุณได้รับความปลอดภัยในจุดต่อไปโปรดตอบภายใน …

12
กลมเหมือนศูนย์
เป้าหมาย กำหนดหมายเลขอินพุตให้ปัดเศษให้ใกล้กับตัวเลขที่มีค่ามากที่สุด ความต้องการ อินพุต จำนวนจุดลอยตัว สมมติว่าตัวเลขอินพุตส่งผลให้เกิดเอาต์พุตภายในขีด จำกัด ของชนิดข้อมูล (เช่นละเว้นข้อผิดพลาดมากเกินไป) 0 คืออินพุตที่ไม่ถูกต้อง ตัวเลขที่ไม่สามารถแสดงอย่างถูกต้องในประเภทข้อมูลจุดลอยตัว (เช่น"0.35"การจัดเก็บเป็น0.3499999) ไม่จำเป็นต้องได้รับการสนับสนุน เอาท์พุต ตัวเลขที่ใกล้ที่สุดซึ่งประกอบด้วยตัวเลขที่ไม่ใช่ศูนย์หนึ่งหลักและหมายเลขศูนย์ใด ๆ ผลลัพธ์ต้องรองรับตัวเลขติดลบและเศษส่วน เมื่ออินพุตอยู่ระหว่างสองเอาต์พุตที่เป็นไปได้ให้ปัดออกจากศูนย์ การเสนอ โฟกัสอยู่ที่การคำนวณมากกว่าการนำเสนอ ผลลัพธ์อาจเป็นชนิดข้อมูลจุดลอย อาจเป็นข้อความทั้งแบบเต็มหรือในทางวิทยาศาสตร์ หากคุณพบช่องโหว่ที่การนำเสนอวิธีการลดจำนวนไบต์ของคุณรุ่งโรจน์กับคุณ! ตัวอย่าง 9 -3000 .2 0.2 -.2 7e12 5e-15 1e0 กรณีทดสอบ Input Output 1 1 10 10 17 20 99 100 54321 50000 56789 60000 -123 -100 …
12 code-golf  math 

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