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

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

12
เกม Diffy ของฉันเสื่อมสภาพหรือไม่
เมื่อเร็ว ๆ นี้ผมโพสต์คำถามเกี่ยวกับเกม Diffy ซึ่งมีที่ยังไม่ได้หายไป นั่นเป็นคำถามที่ยากมาก แต่ฉันอยากจะถามคำถามที่ง่ายขึ้นเกี่ยวกับเกม Diffy เพื่อที่เราจะได้ลูกบอลกลิ้ง Diffy ทำงานอย่างไร คัดลอกมาจากFind Diffy Games เกม Diffy นั้นมีลักษณะดังนี้: คุณเริ่มต้นด้วยรายการจำนวนเต็มไม่เป็นลบในตัวอย่างนี้เราจะใช้ 3 4 5 8 จากนั้นคุณก็นำความแตกต่างที่แน่นอนระหว่างตัวเลขที่อยู่ติดกัน (8) 3 4 5 8 5 1 1 3 จากนั้นคุณทำซ้ำ คุณทำซ้ำจนกว่าคุณจะรู้ว่าคุณได้เข้าสู่วง และโดยทั่วไปเกมจะเริ่มต้นจากจุดเริ่มต้นอีกครั้ง 3 4 5 8 5 1 1 3 2 4 0 2 0 2 4 …

1
ค้นหาเคอร์เนล Fibonacci
คุณอาจเคยได้ยินหมายเลขฟีโบนักชี ; พวกเขามีชื่อเสียงมาก แต่ละหมายเลขในลำดับฟีโบนักชีคือผลรวมของสองลำดับสุดท้ายในลำดับที่มีหมายเลขแรกและตัวที่สองเป็น 1 ลำดับจะมีลักษณะดังนี้: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 …

23
รับทศนิยม!
งาน: งานของคุณคือเมื่อได้รับสามอินพุต: ตัวเศษ n ตัวส่วน d อีกจำนวนเต็ม x สร้างโปรแกรม / ฟังก์ชั่นที่ค้นหาตัวเลขxth ของตัวเลขหลังจุดทศนิยม รายละเอียด: ช่วงของnและdอยู่ระหว่าง1และ2^31 - 1รวม ช่วงของxอยู่ระหว่าง1และ10,000,000รวม การจัดทำดัชนีคุณอาจเลือกที่จะใช้ 1 ตามการจัดทำดัชนีหรือ 0 xที่ใช้สำหรับ โปรดระบุคำตอบที่คุณใช้ ndอาจจะมีขนาดใหญ่กว่า n, dและxได้รับการรับรองให้เป็นจำนวนเต็มบวก (ต่อ 1 ตามรุ่นของดัชนีxถ้าคุณเลือกที่จะใช้การจัดทำดัชนี 0 ที่ใช้สำหรับการxนั้นxสามารถ0) คุณอาจรับอินพุตในลักษณะที่สมเหตุสมผล (เช่นวิธีใด ๆ ที่ไม่ใช่ช่องโหว่มาตรฐาน) กฎ: คุณจะต้องกลับที่แน่นอนxหลักที่ไม่ได้เมื่อกลม - ดังนั้น15หลัก TH ของ1/6ตัวอย่างเช่นไม่ได้แต่76 โปรแกรมของคุณจะต้องใช้งานได้สำหรับทุกคน xต่ำกว่า 10 ล้านคนยกเว้นว่าภาษาของคุณจะไม่สนับสนุนทศนิยมถึง 10 ล้านแห่ง ตัวอย่าง I / …
23 code-golf  math 

14
ใช้รหัสของคุณซ้ำ!
ในการท้าทายนี้เราพยายามที่จะแก้ปัญหาที่สำคัญสองอย่างพร้อมกัน พวกเขาเป็น: รับจำนวนเต็มaและb , บอกว่าa -1 เป็นจำนวนเฉพาะ รับจำนวนเต็มaและbส่งคืนnCr (a, b) คุณต้องเขียนโปรแกรมสองโปรแกรมหนึ่งที่ทำงานแรกและอีกอันหนึ่งทำงาน เนื่องจากเราต้องการแก้ไขปัญหาทั้งสองพร้อมกันจึงขอแนะนำให้ใช้โค้ดชิ้นเดียวกันในโปรแกรมทั้งสอง เกณฑ์การให้คะแนน คะแนนคำตอบคือระยะทางของ Levenshtein ระหว่างสองโปรแกรม คะแนนต่ำกว่าดีกว่า ในกรณีที่เสมอกันคำตอบด้วยรหัสที่สั้นที่สุดของทั้งสองโปรแกรมจะชนะ คุณสามารถใช้สคริปต์นี้เพื่อคำนวณคะแนนการแก้ปัญหาของคุณ กฎระเบียบ คุณต้องเขียนโปรแกรมสองโปรแกรมในภาษาเดียวกันกับที่แก้งานที่อธิบายไว้ข้างต้น คุณสามารถใช้วิธีการ I / O ใด ๆ ที่คุณต้องการ สำหรับภารกิจที่ 1 คุณสามารถส่งกลับค่าความจริง / เท็จหรือเลือกสองค่าเพื่อหมายถึงความจริงและเท็จและคืนค่าเหล่านั้นตามลำดับ เช่น. คุณสามารถเลือกได้ว่า"prime"หมายถึงจริงและ"not prime"หมายถึงเท็จ อัลกอริทึมที่คุณใช้จะต้องใช้งานได้กับอินพุตที่เป็นไปได้ทั้งหมด แต่ก็โอเคถ้ารหัสล้มเหลวสำหรับจำนวนมากเนื่องจากข้อ จำกัด ของประเภทหมายเลขที่ใช้ คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นถูกต้อง ไม่มีส่วนย่อยของโปรแกรมที่จะต้องแก้ปัญหาคือ รหัสจะต้องไม่ทำงานหากมีการลบอักขระใด ๆ ออก ตัวอย่างเช่นรหัสต่อไปนี้ไม่ถูกต้องเนื่องจากเป็นไปได้ที่จะลบบล็อกอื่นที่ไม่ได้ใช้โดยไม่ทำให้โปรแกรมแตก: if (1) { /* …

14
รถยนต์ Hot Wheels ของฉันเร็วแค่ไหน?
เมื่อหลายปีก่อน Hot Wheels สร้างเกมแฟลชง่ายๆที่เรียกว่า"Formula Fuelers Racers" * ในการเล่นเกมคุณเลือกส่วนผสมสามอย่างจากตู้เย็นเพื่อใส่เข้าไปในรถของคุณซึ่งจะแข่งกับรถที่สร้างแบบสุ่มของคอมพิวเตอร์ ปรากฎว่ากลไกของเกมนี้ค่อนข้างเรียบง่าย ก่อนอื่นการ "เวลา" การแข่งขันที่แท้จริงของรถของคุณจะถูกสร้างแบบสุ่มและไม่มีผลใด ๆ เลยว่าคุณชนะการแข่งขันหรือไม่ ประการที่สองผู้ชนะการแข่งขันจะถูกกำหนดโดยคะแนนซึ่งคำนวณจากส่วนผสมที่เลือก (อนุญาตให้ใช้ส่วนประกอบที่ซ้ำกันและลำดับการสั่งซื้อ) แต่ละส่วนผสมมี "คุณค่า" ที่เกี่ยวข้องและ "การทำงาน" ที่เกี่ยวข้องดังที่แสดงในตารางต่อไปนี้: # ingredient val op 1 Hot Salsa 2 + 2 Root Beer 1 + 3 Milk 1 + 4 Pickle Juice 2 + 5 Mystery Lunch -3 * 6 …

14
ทำโปรแกรมจำลองการพันด้วยฟอง
Bubble-wraps เป็นความบันเทิงระดับสูงสุด ทุกคนสามารถเห็นด้วยกับที่ ตอนนี้คุณจะทำให้คอมพิวเตอร์ของคุณเพลิดเพลินไปกับการตัดฟอง รายละเอียด คุณจะได้รับจำนวนเต็มสองจำนวนคือ w และ h (แต่ละตัวมีความกว้างและความสูงตอบสนอง) โปรแกรมของคุณควรแสดงผลทุกเฟส w * h ที่รอ 1 วินาทีระหว่างแต่ละรายการและสิ้นสุด การห่อฟองทั้งหมดเริ่มต้นด้วยเซลล์ทั้งหมดเต็ม ตัวอย่างเช่นการตัดฟองแบบ 4 * 6 เริ่มต้นเช่น: O_O_ _O_O O_O_ _O_O O_O_ _O_O และในแต่ละเฟสเซลล์ที่ไม่ได้ผุดก็จะถูกสุ่มเช่นกัน O_O_ _O_O O_X_ _O_O O_O_ _O_O โปรแกรมควรยุติเมื่อเซลล์ทั้งหมดแตก อาคา X_X_ _X_X X_X_ _X_X X_X_ _X_X ตัวอย่าง (4,6) (5,5) (6,2) (10,10) (7,9)

7
หมุนกล้อง; บันทึกนักบินอวกาศ
หมายเหตุ: สปอยเลอร์เล็กน้อยสำหรับชาวอังคารกำลังท้าทาย อ่านล่วงหน้าด้วยความระมัดระวัง อังคารเป็นนิยายวิทยาศาสตร์นวนิยายเกี่ยวกับมนุษย์อวกาศและนักพฤกษศาสตร์วิสามัญมาร์คมาร์กนีย์ผู้ซึ่งติดอยู่บนดาวอังคารโดยบังเอิญ เมื่อถึงจุดหนึ่งในหนังสือมาร์คพยายามสื่อสารกับ NASA แต่วิธีการสื่อสารเดียวที่พวกเขามีคือกล้อง Mark ส่งข้อความโดยการเขียนลงบนบัตรดัชนีและเนื่องจาก NASA สามารถหมุนกล้องได้ 360 องศา NASA จึงส่งคำตอบกลับโดยหันกล้องไปที่การ์ดที่มีป้ายกำกับว่า "ใช่" หรือ "ไม่" เนื่องจากข้อมูลเพียงอย่างเดียวที่นาซ่าสามารถส่งได้คือทิศทางที่กล้องหันเข้าหามาร์คจึงมาพร้อมกับระบบที่พวกเขาสามารถชี้ไปที่การ์ดที่มีตัวอักษรตัวอักษรเพื่อพิมพ์ข้อความ แต่การใช้ตัวอักษร 'az' จะไม่สามารถทำได้ หากต้องการอ้างอิงหนังสือ (จากคำตอบนี้มีให้ที่ scifi.se): เราจะต้องพูดเร็วกว่าใช่ / ไม่ใช่คำถามทุกครึ่งชั่วโมง กล้องสามารถหมุนได้ 360 องศาและฉันมีชิ้นส่วนเสาอากาศมากมาย ใช้เวลาในการทำตัวอักษร แต่ฉันไม่สามารถใช้ตัวอักษร A ถึง Z. ตัวอักษรยี่สิบหกบวกบัตรคำถามของฉันจะเป็นยี่สิบเจ็ดบัตรรอบแลนเดอร์ แต่ละอันจะได้ส่วนโค้งที่ 13 องศาเท่านั้น แม้ว่า JPL จะชี้กล้องอย่างสมบูรณ์แบบ แต่ก็มีโอกาสดีที่ฉันจะไม่รู้ว่าตัวอักษรนั้นหมายถึงอะไร ดังนั้นฉันจะต้องใช้ ASCII นั่นเป็นวิธีที่คอมพิวเตอร์จัดการกับตัวละคร ตัวละครแต่ละตัวมีรหัสตัวเลขระหว่าง 0 ถึง …

16
ทำกล่องดนตรี
งานของคุณคือการใช้ลำดับของตัวละคร (เพลง) เป็นอินพุต (ในฟังก์ชั่นหรือโปรแกรม) และพิมพ์ (หรือส่งคืน) เพลงตามที่ดูเหมือนในกล่องดนตรี คุณจะได้รับเฉพาะอักขระABCDEFG.()เป็นอินพุตและอินพุตจะไม่ว่างเปล่า คุณอาจได้รับจดหมายเป็นตัวพิมพ์เล็กหากคุณต้องการ นี่คือกล่องดนตรีเปล่าที่มีความยาว 3: ....... ....... ....... อย่างที่คุณเห็นบรรทัดนั้นมีความยาว 7 ตัวอักษรและเนื่องจากความยาวของกล่องดนตรีคือ 3 เราจึงมี 3 บรรทัด มีเพียง.ที่นี่เนื่องจากกล่องดนตรีว่างเปล่า มาฟังเพลงกัน! อันดับแรกเราสร้างกล่องดนตรี CDAG.DAGในตัวอย่างนี้การป้อนข้อมูลที่จะเป็น ความยาวเท่ากับCDAG.DAG8 ดังนั้นเราต้องมีกล่องดนตรีที่มีความยาว 8: ....... ....... ....... ....... ....... ....... ....... ....... จากนั้นเราอ่านอินพุตหนึ่งตัวอักษรในแต่ละครั้งและวางOตำแหน่งที่เกี่ยวข้อง ตัวอักษรตัวแรกคือCและตำแหน่งของแต่ละโน้ตนั้นเทียบเท่ากับสิ่งนี้ (ฉันได้เพิ่มช่องว่างเพื่อความชัดเจน): A B C D E F G . . . . …

28
ยืนหยัดต่อสู้กับสายยาว ๆ
เมื่อเร็ว ๆ นี้มีคนเสนอข้อ จำกัด ที่เข้มงวดมากขึ้นสำหรับความยาวบรรทัดเริ่มต้นของ Python: เห็นได้ชัดว่าไม่ควรใช้โปรแกรมเกิน 80 ตัวอักษรต่อบรรทัดด้วยเหตุผลทั้งหมด สิ่งแรกและสำคัญที่สุดสำหรับการอ่านและการบำรุงรักษาเป็นสิ่งสำคัญที่จะต้องมีมาตรฐานที่มั่นคงดังนั้นเราจึงสามารถปรับความกว้างของเครื่องมือแก้ไขข้อความของเราได้อย่างเหมาะสม ในฐานะที่เป็นประโยชน์รองรหัสสามารถถ่ายโอนไปยังสื่อที่อาจมีข้อ จำกัด และที่เพิ่มบรรทัดแบ่งสามารถเบี่ยงเบนความสนใจเช่นหน้าพิมพ์เพื่อตรวจสอบในการประชุมหรือบัตรเจาะ แต่ 80 ตัวอักษรสูงเกินไปหรือไม่ บางคนแนะนำ 79 หรือต่ำที่สุดถึง 75 เพื่อให้เทอร์มินัลแบบกว้าง 80 ตัวอักษรพอดีกับโค้ดโดยมีคอลัมน์ไม่กี่คอลัมน์ที่ใช้กับหมายเลขบรรทัด ชัดเจนที่สุดคือต่ำกว่าดีกว่าเนื่องจากขีด จำกัด ล่างอนุญาตให้ใช้รหัสในสถานการณ์มากขึ้นโดยไม่ต้องฟอร์แมตใหม่ แนะนำมาตรฐาน max6 เป้าหมายของคุณคือการค้นหาและสาธิตความยาวบรรทัดต่ำสุดที่ภาษาที่คุณโปรดปรานโดยการเขียนตัวแปร FizzBuzz ด้วยจำนวนอักขระน้อยที่สุดในบรรทัดใด ๆ อินพุต จำนวนเต็มnด้วยวิธีที่ต้องการ เอาท์พุต พิมพ์ตัวเลขจาก 1 ถึงn , ( n ≥ 1, n ∈ℤ) คั่นด้วยตัวแบ่งบรรทัดยกเว้น: สำหรับการพิมพ์ 3 รายการ "Apple" …

9
โรงแรม Hilbert's Grand
บทนำ บางท่านอาจจะเคยได้ยินของฮิลแบร์ตแกรนด์โฮเต็ล ผู้จัดการที่นั่นสูญเสียรายชื่อแขกที่เข้าพัก แต่เขายังคงมีคำสั่งในการเช็คอินแขกแต่ละคนไม่สามารถเข้าพักในห้องที่มีจำนวนห้องน้อยกว่ามูลค่าของพวกเขาและหากแขกถูกเพิ่มลงต่ำ ห้องแขกทุกคนในห้องที่สูงขึ้นโดยไม่มีที่ว่างระหว่างพวกเขาและแขกใหม่จะเลื่อนขึ้นหนึ่งห้อง คุณช่วยเขาค้นหาว่าแขกแต่ละคนพักอยู่ที่ไหน? ความต้องการ เขียนโปรแกรมที่ได้รับรายการคำสั่งของตัวเลขธรรมชาติเป็นอินพุตและวางไว้ที่ดัชนีของพวกเขา หากมีค่าอยู่ในดัชนีนั้นมันจะถูกเลื่อนขึ้นเป็นรายการถัดไปในรายการ กระบวนการนี้ทำซ้ำจนกว่าจะพบพื้นที่ว่างเปล่า (0 หรือไม่ได้กำหนด) แรก ช่องว่างที่ไม่ได้กำหนดระหว่างดัชนีสูงสุดในปัจจุบันและอินพุตใหม่ใด ๆ จะถูกเติมด้วยการเพิ่ม 0s เนื่องจากที่นี่เป็นโรงแรมแกรนด์ของฮิลแบร์ตจึงไม่มีห้องพักที่สูงกว่าดัชนีที่ครอบครองสูงสุดในปัจจุบัน อินพุตและเอาต์พุต ข้อมูลที่ป้อนจะเป็นรายการหมายเลขธรรมชาติเรียงลำดับ (อนุญาตให้อ่านผ่านรูปแบบที่ยอมรับได้) แต่ละหมายเลขในข้อมูลเข้าถือว่าเป็นแขกหนึ่งท่านที่เดินทางมาถึงโรงแรมและอยู่ในลำดับที่เดินทางมาถึง ผลลัพธ์จะเป็นการจัดการสุดท้ายของแขก (หมายเลข) ตัวอย่าง ข้อมูลเข้า: 1 3 1 เอาท์พุท: 1 1 3 ทีละขั้นตอน: 1 สร้างห้องที่ดัชนี 1 และวาง 1 ในนั้น 1 0 3 สร้างห้องถึงดัชนี 3 และวาง 3 ในห้อง 3 1 …

1
มันเป็นปัจจัยตลอดทาง!
ความท้าทายนี้ได้รับแรงบันดาลใจจากไดอะแกรมภาพเคลื่อนไหวที่ยอดเยี่ยม (ขอบคุณข้อบกพร่องสำหรับการโพสต์ในการแชท) กำหนดอินพุตnให้วาดปัจจัยหลักทั้งหมดเป็นรูปหลายเหลี่ยมซ้อนกันตามที่ระบุ ตัวอย่างเช่นเมื่อกำหนดตัวเลข357 = 17x7x3คุณจะจัดเรียง 3 จุดในรูปสามเหลี่ยมรูปสามเหลี่ยม 7 รูปในรูป heptagon และรูป heptagons เหล่านั้น 17 รูปในรูปแบบ 17-gon ในระยะสั้นรูปหลายเหลี่ยมซ้อนกันไปจากปัจจัยสำคัญที่ใหญ่ที่สุดในด้านนอกเพื่อที่เล็กที่สุดในภายใน สำหรับ357คำตอบของคุณควรมีลักษณะเช่นนี้เล็กน้อย (มีหรือไม่มีสี): รูปหลายเหลี่ยมของนายกทุกคน>= 3ไม่ควรหมุนไปรอบ ๆ แผนภาพ ยกเว้นอย่างเดียวคือนายกเฉพาะสำหรับอำนาจคี่2 2ดังที่คุณเห็นในตัวอย่าง376 = 47x2x2x2ด้านล่างการ8หมุนและไม่ใช่เส้นเดี่ยว2แต่เป็นแนวตั้งแนวตั้งสำหรับ4สี่เหลี่ยม แม้แต่พลังของที่2เรียงกันเป็นสี่เหลี่ยมก็ไม่จำเป็นต้องหมุนด้วยวิธีนี้ ในความเป็นจริง448 = 7x2x2x2x2x2x2มีไดอะแกรมที่ดูเหมือน heptagon ของ64s และ64ถูกจัดเรียงเป็นกำลังสองของกำลังสอง แต่ไม่มีการหมุน ตัวอย่างที่สองมากขึ้นและ440 = 11x5x2x2x2 432 = 3x3x3x2x2x2x2เราจะเห็นว่า440มีอำนาจแปลกของ 2, มีที่หมุน8s แต่432มีอำนาจแม้2ไม่หมุนของ16s และสุดท้ายนี่คือตัวอย่างเล็กน้อย10 = 5x2โดยไม่มีสีที่ฉันล้อเลียนกับ Python และturtleโมดูลของมัน …

2
ASCII Hilbert Curve
ได้รับจำนวนเต็มnส่งออกnซ้ำ TH ของฮิลแบร์ต Curveใน ASCII โดยใช้ตัวละครและ_| นี่คือการวนซ้ำ 4 ครั้งแรก: n=1 _ | | n=2 _ _ | |_| | |_ _| _| |_ n=3 _ _ _ _ | |_| | | |_| | |_ _| |_ _| _| |_____| |_ | ___ ___ | |_| _| |_ |_| _ …

20
ค้นหามหาอำนาจสูงสุด
พลังงานหลักคือจำนวนเต็มบวกnที่สามารถเขียนได้ในรูปแบบn = p kโดยที่pคือจำนวนเฉพาะและkเป็นจำนวนเต็มบวก [2, 3, 5, 4, 9, 25, 8, 27, 125]ตัวอย่างเช่นบางอำนาจที่สำคัญมี ถัดไปพิจารณาอำนาจที่สำคัญของ 2 เหล่านี้จะ[2, 4, 8, 16, ...]สามารถนำมาเขียนในรูปแบบที่ 2 k พวกเขาทั้งหมดจะถูกรวมเข้าด้วยกันเมื่อพิจารณามหาอำนาจที่ต่ำกว่า 20 อย่างไรก็ตาม 16 เป็นพลังที่สำคัญสูงสุดโดยมีค่าฐานสูงสุดเป็น 2 ในช่วงนั้น พลังพิเศษp kคือสูงสุดในช่วงถ้ามันเป็นพลังสูงสุดของpในช่วงนั้น เราสนใจเฉพาะพลังงานที่สำคัญสูงสุดในแต่ละช่วงเท่านั้นดังนั้นจึงไม่รวมพลังที่สำคัญทั้งหมด เป้าหมายของคุณคือการเขียนฟังก์ชั่นหรือโปรแกรมที่ใช้เป็นจำนวนเต็มบวกnและออกผลลัพธ์เป็นสูงสุด[2, 3, 4, ..., n]พลังสำคัญในช่วง ขอขอบคุณ @ Peter Taylor ที่ให้คำจำกัดความของอำนาจสูงสุดสูงสุดและอื่น ๆ กฎระเบียบ นี่คือรหัสกอล์ฟเพื่อให้รหัสของคุณสั้นที่สุด สูงสุดพลังที่สำคัญอาจจะมีการส่งออกในลำดับใด ๆ แต่จะต้องไม่มีซ้ำกัน กรณีทดสอบ n …
23 code-golf  math  primes 

13
บัฟเฟอร์กันน้ำล้น
พื้นหลัง โปรแกรมเมอร์ทุกวันนี้ดูเหมือนจะไม่สามารถทำให้บัฟเฟอร์ตรงได้! แหล่งที่มาของข้อผิดพลาดทั่วไปพยายามที่จะใช้ดัชนีอาร์เรย์ที่มีขนาดใหญ่เกินไปสำหรับบัฟเฟอร์ งานของคุณคือการใช้บัฟเฟอร์ที่ดัชนีขนาดใหญ่จะลดลงเป็นขนาดที่บัฟเฟอร์สามารถจัดการได้ เนื่องจากฉันตัดสินใจว่าสิ่งที่ดีที่สุดสำหรับทุกคนคุณจะใช้บัฟเฟอร์นี้กับข้อมูลจำเพาะที่แม่นยำของฉัน ภาพรวม คุณมีบัฟเฟอร์แบบแทรกเท่านั้นที่มีขนาดโตขึ้นเมื่อองค์ประกอบถูกเพิ่มเข้าไป บัฟเฟอร์มีค่าดัชนีเป็นศูนย์และทำดัชนีโมดูโลขนาดปัจจุบัน กฎพิเศษสำหรับความท้าทายนี้คือ: เพื่อแทรกรายการที่ดัชนีฉันหมายถึงการคำนวณเจ , j = i % buffer.length()และแทรกรายการใหม่หลังจากที่jthรายการในรายการ กรณีพิเศษเท่านั้นคือถ้าบัฟเฟอร์ว่างเปล่าเนื่องจากเลขศูนย์ modulo ไม่ทำงาน ดังนั้นหากบัฟเฟอร์ปัจจุบันว่างรายการใหม่จะเป็นดัชนี0 หากบัฟเฟอร์มีเพียงหนึ่งไอเท็มคุณจะแทรกหลังจากไอเท็ม0เสมอ นี่เป็นเพียงตัวอย่างเดียวของกรณีทั่วไป หากบัฟเฟอร์มี 6 รายการ: [4, 9, 14, 8, 5, 2]และคุณได้รับคำสั่งให้แทรกรายการใหม่10ที่ดัชนี15คุณจะพบว่า15 % 6 == 3จากนั้นแทรกรายการใหม่10หลังจาก8ที่ดัชนี3ซึ่งให้บัฟเฟอร์ที่เป็นผลลัพธ์ของ [4, 9, 14, 8, 10, 5, 2] ปัญหา เขียนฟังก์ชั่นหรือโปรแกรมที่ใช้ในรายการสั่งซื้อจำนวนเต็มบวกและดัชนีจำนวนเต็มบวกที่จะแทรก เริ่มต้นด้วยบัฟเฟอร์ที่ว่างเปล่าและเพิ่มจำนวนเต็มที่ระบุไปยังบัฟเฟอร์ที่ดัชนีที่สอดคล้องกัน เอาต์พุตรายการลำดับของจำนวนเต็มที่อยู่ในบัฟเฟอร์หลังจากทำการแทรกที่ระบุทั้งหมดแล้ว นี่คือความท้าทายของรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ แนวทางการป้อนข้อมูล …
23 code-golf 

5
เครื่องกำเนิดนายกรัฐมนตรีที่เร็วที่สุด
นายกบ้านคืออะไร? ตัวอย่างเช่นใช้ HP (4) ขั้นแรกให้ค้นหาปัจจัยสำคัญ ปัจจัยสำคัญของ 4 ( ตามลำดับตัวเลขจากน้อยไปมากที่สุดเสมอ ) คือ 2, 2 นำปัจจัยเหล่านั้นมาเป็นตัวเลขตามตัวอักษร 2, 2 กลายเป็น 22 กระบวนการแฟ็กตอริ่งนี้ดำเนินต่อไปจนกว่าจะถึงจำนวนเฉพาะ number prime factors 4 2, 2 22 2, 11 211 211 is prime เมื่อคุณไปถึงหมายเลขเฉพาะลำดับจะสิ้นสุดลง HP (4) = 211 นี่คือตัวอย่างที่ยาวกว่าโดยมี 14: number prime factors 14 2, 7 27 3, 3, 3 333 …

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