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

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

14
มันเป็นการสลับเพลงหรือไม่?
เมื่อวานนี้ฉันถามคำถามนี้เกี่ยวกับ ruffle shuffles ดูเหมือนว่าคำถามเมื่อวานนี้ยากไปหน่อยดังนั้นคำถามนี้เป็นงานที่เกี่ยวข้อง แต่ง่ายกว่ามาก วันนี้คุณจะถูกถามเพื่อตรวจสอบว่าการเปลี่ยนแปลงในความเป็นจริงสับเปลี่ยน riffle คำจำกัดความของการสลับแบบ riffle ของเราถูกดัดแปลงจากคำถามสุดท้ายของเรา: ส่วนแรกของการสุ่มคือการแบ่ง ในพาร์ทิชันแบ่งไพ่ในสอง ส่วนย่อยทั้งสองจะต้องต่อเนื่องเป็นเอกสิทธิ์เฉพาะบุคคลและครบถ้วนสมบูรณ์ ในโลกแห่งความเป็นจริงต้องการทำให้พาร์ติชันของคุณใกล้เคียงที่สุดเท่าที่จะเป็นไปได้อย่างไรก็ตามในความท้าทายนี้ไม่ใช่การพิจารณาพาร์ติชั่นทั้งหมดรวมถึงพาร์ติชั่นที่เสื่อมโทรม หลังจากที่พวกเขาได้รับการแบ่งพาร์ติชันบัตรจะได้แต่งงานกันในลักษณะดังกล่าวว่าบัตรรักษาลำดับญาติของพวกเขาภายในพาร์ทิชันที่พวกเขาเป็นสมาชิกของ ตัวอย่างเช่นหากการ์ดAอยู่ก่อนการ์ดBในสำรับและการ์ดAและBอยู่ในพาร์ทิชันเดียวกันการ์ดAต้องอยู่ก่อนการ์ดBในผลลัพธ์สุดท้ายแม้ว่าจำนวนการ์ดระหว่างการ์ดจะเพิ่มขึ้น หากAและBอยู่ในพาร์ติชั่นต่างกันพวกเขาสามารถอยู่ในลำดับใดก็ได้โดยไม่คำนึงถึงลำดับเริ่มต้นในผลลัพธ์สุดท้าย การสลับแบบสุ่มแต่ละอันนั้นสามารถถูกมองว่าเป็นการเปลี่ยนแปลงไพ่สำรับดั้งเดิม ตัวอย่างเช่นการเปลี่ยนแปลง 1,2,3 -> 1,3,2 เป็นการสลับแบบ riffle ถ้าคุณแยกดาดฟ้าเช่นนั้น 1, 2 | 3 เราเห็นว่าการ์ดทุกใบใน1,3,2นั้นมีลำดับที่เหมือนกันกับการ์ดอื่น ๆ ในพาร์ติชั่น ยังคงเป็นหลังจากที่21 ในทางกลับกันการเรียงสับเปลี่ยนต่อไปนี้ไม่ใช่การสลับแบบ riffle 1,2,3 -> 3,2,1 เราสามารถเห็นสิ่งนี้ได้เพราะพาร์ติชั่นทั้งสอง (ไม่สำคัญ) 1, 2 | 3 1 | 2, 3 มีคู่ของการ์ดที่ไม่รักษาลำดับญาติของพวกเขา ในพาร์ติชันแรก1และ2เปลี่ยนลำดับของพวกเขาในขณะที่พาร์ติชันที่สอง2และ3เปลี่ยนลำดับของพวกเขา …

17
ค้นหารากที่สมบูรณ์ของ A พหุนาม
ท้าทาย ความท้าทายคือการเขียนโปรแกรมที่ใช้ค่าสัมประสิทธิ์ของสมการพหุนามแบบ n-degree ใด ๆ เป็นอินพุตและส่งกลับค่าอินทิกรัลของ x ซึ่งสมการนั้นเป็นจริง ค่าสัมประสิทธิ์จะได้รับเป็นอินพุตตามลำดับของการลดหรือเพิ่มพลังงาน คุณสามารถสันนิษฐานได้ว่าค่าสัมประสิทธิ์ทั้งหมดจะเป็นจำนวนเต็ม อินพุทและเอาท์พุท อินพุตจะเป็นค่าสัมประสิทธิ์ของสมการในการลดหรือเพิ่มลำดับพลังงาน ระดับของสมการคือพลังงานสูงสุดของ x จะน้อยกว่าจำนวนทั้งหมดขององค์ประกอบในอินพุต 1 เสมอ ตัวอย่างเช่น: [1,2,3,4,5] -> represents x^4 + 2x^3 + 3x^2 + 4x + 5 = 0 (degree = 4, as there are 5 elements) [4,0,0,3] -> represents 4x^3 + 3 = 0 (degree = …

30
การท้าทายการคูณวันที่
(แรงบันดาลใจจากRiddler ของสัปดาห์ที่แล้วเมื่อ FiveThirtyEight.com โพสต์ Sandbox ) ได้รับปีระหว่างปี 2001 ถึงปี 2099 ให้คำนวณและส่งกลับจำนวนวันในช่วงปีปฏิทินดังกล่าวโดยที่mm * dd = yy( yyเป็นปีที่2 หลัก ) เช่นปี 2018 มี 5: 18 มกราคม (1 * 18 = 18) 9 กุมภาพันธ์ (2 * 9 = 18) 6 มีนาคม (3 * 6 = 18) 3 มิถุนายน (6 * 3 = 18) …
19 code-golf  date 

1
ตัวอักษรโฟมอาบน้ำ
หากคุณมีเด็กเล็กอยู่ในบ้านคุณอาจเจอตัวอักษรอาบน้ำโฟม สิ่งเหล่านี้สามารถชุบน้ำหมาด ๆ และติดอยู่กับพื้นผิวที่เรียบเช่นกระเบื้องและด้านข้างของอ่างอาบน้ำเพื่อสร้างคำและข้อความ ช่วงของคำและข้อความที่ค่อนข้าง จำกัด ถ้าคุณมีเพียงหนึ่งชุด แต่เนื่องจากคุณจะได้รับ 36 ตัวอักษร: ตัวอักษรพิมพ์ใหญ่ AZ และตัวเลข ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890-9: อย่างไรก็ตามคุณสามารถใช้ไหวพริบและใช้ตัวอักษรและตัวเลขในทางที่ผิดเพื่อสร้างสำเนาของจดหมายอื่น: 3: E 1: I 7: L (when rotated) M: W (when rotated) 0: O 2: S (when flipped) 5: S W: M (when rotated) 2: Z 5: Z (when flipped) O: 0 6: 9 (when …

25
ผลรวมของคอลัมน์ที่ชาญฉลาดของส่วนที่ทับซ้อนกัน
งาน ได้รับรายชื่อของจำนวนเต็มLและอีกจำนวนเต็มsเป้าหมายคือการคำนวณผลรวมคอลัมน์ที่ชาญฉลาดของทุกsมีความยาว (อาจทับซ้อนกัน) ชิ้นของLในขณะที่เกี่ยวข้องกับตำแหน่งของพวกเขาเทียบกับL (ดูด้านล่าง) คำนิยาม sมีความยาว(ที่ทับซ้อนกัน) ชิ้นของรายการLคือประกาศ subsequences ต่อเนื่องกัน (โดยไม่ต้องห่อ) ของLที่มีความยาวs เพื่อให้ได้ตำแหน่งของชิ้นที่สัมพันธ์กับLคุณสามารถจินตนาการถึงการสร้าง "บันได" ซึ่งแต่ละชิ้นของiมีตำแหน่งออฟเซ็ตiจากจุดเริ่มต้น รายละเอียด sเป็นจำนวนเต็มสูงกว่า1อย่างเคร่งครัดและมีขนาดเล็กกว่าความยาวของL Lจะมีองค์ประกอบอย่างน้อย 3 องค์ประกอบเสมอ คุณสามารถแข่งขันในภาษาการเขียนโปรแกรมใด ๆและสามารถรับอินพุตและให้เอาต์พุตผ่านวิธีการมาตรฐานใด ๆในขณะที่รับทราบว่าช่องโหว่เหล่านี้ถูกห้ามโดยค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นการส่งสั้นที่สุด (เป็นไบต์) สำหรับทุกภาษาที่ชนะ ตัวอย่างและกรณีทดสอบ นี่คือตัวอย่างการทำงาน: [1, 2, 3, 4, 5, 6, 7, 8, 9], 3 [1, 2, 3] [2, 3, 4] [3, 4, 5] [4, 5, 6] …

23
สลับเดี่ยวของอาร์เรย์
แรงบันดาลใจจากที่นำมาจากคำถามที่กองล้น ความท้าทาย ได้รับจำนวนเต็มผลผลิตอาร์เรย์ทั้งหมดที่สามารถรับได้โดยการเปลี่ยนตรงสองรายการในอาร์เรย์n>1[1, 2, ..., n] สามารถผลิตอาร์เรย์ในลำดับใดก็ได้ คุณสามารถใช้[0, 1, ..., n-1](ตามพื้นฐาน 0) แทน[1, 2, ..., n](ตามพื้นฐาน 1) กฎเพิ่มเติม เข้าและส่งออกมีความยืดหยุ่นได้ตามปกติ โปรแกรมหรือฟังก์ชั่นที่ได้รับอนุญาตในการเขียนโปรแกรมภาษา ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ อินพุต2ให้เอาต์พุต (สมมติว่าเป็นฐาน 1) 2 1 อินพุต3ให้เอาต์พุต (โปรดสังเกตว่าสามอาร์เรย์สามารถอยู่ในลำดับใดก็ได้) 1 3 2 2 1 3 3 2 1 อินพุต4ให้เอาต์พุต 1 2 4 3 1 3 2 4 1 4 …

2
Bitor XOR ของจำนวนตรรกยะ
บทนำ จำนวนตรรกยะทุกจำนวนระหว่าง 0 ถึง 1 สามารถแสดงเป็นลำดับตามลำดับในที่สุดของบิต ตัวอย่างเช่นการแทนเลขฐานสองของ 11/40 คือ 0.010 0011 0011 0011 ... ที่0011เป็นส่วนหนึ่งซ้ำไปเรื่อย ๆ วิธีหนึ่งในการค้นหาการแสดงนี้คือต่อไปนี้ เริ่มต้นด้วยr = 11/40จากนั้นเพิ่มเป็นสองเท่าและใช้ส่วนที่เป็นเศษส่วนบันทึกเมื่อมันไปด้านบน 1 เมื่อค่าของrซ้ำคุณรู้ว่าคุณได้เข้าสู่ลูป 1. r = 11/40 2. 2*r = 11/20 < 1 -> next bit is 0, r = 11/20 3. 2*r = 11/10 >= 1 -> next bit is …

4
ชัดเจนวงเล็บรถไฟ APL
ใน APL คุณสามารถเขียนฟังก์ชั่นโดยปริยายเรียกว่ารถไฟ พวกเขาทำงานอย่างไรไม่เกี่ยวข้องกับความท้าทายนี้ นี่คือวิธีที่แตกต่างกันที่พวกเขาสามารถจัดกลุ่มโดยใช้⍴เป็นฟังก์ชั่น: ⍴ -> ⍴ ⍴⍴ -> ⍴⍴ ⍴⍴⍴ -> ⍴⍴⍴ ⍴⍴⍴⍴ -> ⍴(⍴⍴⍴) ⍴⍴⍴⍴⍴ -> ⍴⍴(⍴⍴⍴) ⍴⍴⍴⍴⍴⍴ -> ⍴(⍴⍴(⍴⍴⍴)) ... คำสั่งซื้อยังคงเหมือนเดิม ขั้นตอนคือตราบใดที่มีมากกว่า 3 ฟังก์ชั่นอย่างเข้มงวดฟังก์ชั่น 3 ครั้งสุดท้ายจะถูกจัดกลุ่มเป็นหนึ่งฟังก์ชั่น หากเราพบรถไฟซ้อนกันเราจะวงเล็บเป็นอันดับแรกก่อนดำเนินการต่อ นี่คือขั้นตอนที่ใช้กับ⍴⍴⍴⍴⍴⍴: Step 0: ⍴⍴⍴⍴⍴⍴ There are strictly more than 3 functions, repeat. Step 1: ⍴⍴⍴(⍴⍴⍴) There are strictly more …

9
อินทิกรัล จำกัด แน่นอนโดยใช้ผลบวกของ Riemann
ซ้ายและขวาเงินก้อน Riemannมีความใกล้เคียงเพื่อintegrals ชัดเจน แน่นอนว่าในวิชาคณิตศาสตร์เราต้องมีความแม่นยำมากดังนั้นเราจึงตั้งเป้าที่จะคำนวณพวกมันด้วยเขตการปกครองจำนวนมากที่เข้าใกล้อนันต์ แต่นั่นไม่จำเป็นสำหรับจุดประสงค์ของการท้าทายนี้ คุณควรลองเขียนโปรแกรมที่สั้นที่สุดแทนการป้อนข้อมูลและให้ผลลัพธ์ผ่านวิธีการเริ่มต้นใดๆ ในภาษาการเขียนโปรแกรมใด ๆซึ่งทำสิ่งต่อไปนี้: งาน รับจำนวนตรรกยะaaaและbbb (ข้อ จำกัด ของอินทิกรัล จำกัด ), จำนวนเต็มบวกnnn , boolean kkkแทนซ้าย / ขวาและฟังก์ชันกล่องดำ fff , คำนวณผลรวม Riemann ทางซ้ายหรือขวา (ขึ้นอยู่กับkkk ) ของ∫baf(x)dx∫abf(x)dx\int_a^b f(x)\mathrm{d}xใช้nnn เท่ากับเขตการปกครอง I / O Specs aaaและbbbสามารถเป็นจำนวนตรรกยะ / จำนวนทศนิยมหรือเศษส่วน kkkสามารถแสดงค่าที่แตกต่างและสอดคล้องกันได้สองค่า แต่โปรดจำไว้ว่าคุณไม่ได้รับอนุญาตให้ใช้ฟังก์ชั่นสมบูรณ์หรือบางส่วนเป็นอินพุต fffเป็นฟังก์ชั่นกล่องดำ อ้างถึงคำตอบที่เมตาเชื่อมโยงข้างต้นเนื้อหา (เช่นรหัส) ของกล่องดำฟังก์ชั่นอาจไม่สามารถเข้าถึงคุณสามารถเรียกพวกเขา (ข้อโต้แย้งผ่านถ้ามี) และสังเกตผลผลิตของพวกเขา หากจำเป็นโปรดระบุข้อมูลที่จำเป็นเกี่ยวกับไวยากรณ์ที่ภาษาของคุณใช้เช่นที่เราสามารถทดสอบการส่งของคุณ ในฐานะที่เป็นเอาท์พุทคุณจะต้องให้เหตุผล / จุดลอยตัว …

3
การเขียนจำนวนตรรกยะเป็นอัตราส่วนของแฟกทอเรียลของช่วงเวลา
หมายเหตุ: ความท้าทายนี้ได้รับการโพสต์บนกล่องเครื่องมือ บทนำ ความท้าทายนี้ได้รับแรงบันดาลใจมาจาก2009 Putnam B1ซึ่งเป็นปัญหาในการแข่งขันคณิตศาสตร์ระดับปริญญาตรี ปัญหาดังต่อไปนี้: แสดงให้เห็นว่าทุกจำนวนตรรกยะที่เป็นบวกสามารถเขียนได้เป็นผลหารของผลคูณของแฟกทอเรียลของช่วง (ไม่จำเป็นต้องชัดเจน) ตัวอย่างเช่น, ท้าทาย ความท้าทายของคุณคือการใช้จำนวนเต็มบวกจำนวนเต็มซึ่งเป็นตัวแทนตัวเศษและตัวหารของจำนวนตรรกยะที่เป็นบวก (หรือเพียงแค่จำนวนตรรกยะเอง) เป็นอินพุตและส่งออกสองรายการ (หรืออาร์เรย์ ฯลฯ ) ของจำนวนเฉพาะเพื่อให้ จำนวนตรรกยะที่ป้อนเข้านั้นเท่ากับอัตราส่วนของผลคูณของแฟกทอเรียลของจำนวนเฉพาะในรายการแรกกับผลคูณของแฟกทอเรียลของจำนวนเฉพาะในรายการที่สอง หมายเหตุ อาจไม่มีช่วงเวลาที่มีทั้งในรายการแรกและในรายการที่สอง อย่างไรก็ตามนายกอาจปรากฏหลายครั้งตามที่ปรารถนาในรายการใดรายการหนึ่ง อินพุตสามารถสันนิษฐานได้ว่าแต่ละค่า (ไม่ จำกัด ) ระหว่าง 1 ถึง 65535 อย่างไรก็ตามไม่สามารถสรุปได้ว่าแฟกทอเรียลของตัวเลขที่คุณจะต้องใช้ในการส่งออกจะอยู่ในช่วงนี้ ตัวอย่างอินพุตและเอาต์พุต นี่คือตัวอย่างของอินพุตและเอาต์พุตทางกฎหมาย input=>output 10,9 => [2,5],[3,3,3] 2,1 => [2],[] 3,1 => [3],[2] 1,5 => [2,3,2],[5] (elements of a list …

16
นาฬิกาดิจิตอล
นาฬิกาดิจิตอลจำนวนมากแสดงเวลาโดยใช้ตัวเลขแบบง่ายประกอบด้วยแสงที่แตกต่างกันเจ็ดแบบเท่านั้นที่เปิดหรือปิด: เมื่อมิเรอร์ในแนวนอนตัวเลข018จะไม่เปลี่ยนเพราะมันมีความสมมาตร นอกจากนี้ตัวเลข2และ5รับแลกเปลี่ยน2กลายเป็น5และในทางกลับกัน ตัวเลขอื่น ๆ ทั้งหมดจะไม่ถูกต้องเมื่อทำมิเรอร์ ดังนั้นด้วยนาฬิกาดิจิตอลตลอด 24 ชั่วโมงจึงมีการอ่านนาฬิกาจำนวนมากเช่นนั้นภาพสะท้อนของจอแสดงผลดิจิตอลก็เป็นนาฬิกาที่ถูกต้องเช่นกัน งานของคุณคือการส่งออกการอ่านนาฬิกาดังกล่าวทั้งหมดพร้อมกับการอ่านมิร์เรอร์ ยกตัวอย่างเช่น22:21กลายเป็น15:55และจะกลายเป็น00:15 21:00บนมืออื่น ๆ , 12:34หรือ16:27จะไม่ถูกต้องเมื่อมิเรอร์ (ตัวเลข34679กลายเป็นที่ไม่ถูกต้อง) และไม่เป็น22:22หรือ18:21เพราะเป็นมีเพียง 24 ชั่วโมงในหนึ่งวันและ 60 นาทีในชั่วโมงไม่มีนาฬิกาสติจะแสดงหรือ55:5512:81 งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ไม่มีอินพุตและเอาต์พุตคู่ที่ถูกต้องทั้งหมดตามลำดับจากน้อยไปมากดังแสดงด้านล่าง: 00:00 - 00:00 00:01 - 10:00 00:05 - 20:00 00:10 - 01:00 00:11 - 11:00 00:15 - 21:00 00:20 - 05:00 00:21 - 15:00 00:50 - 02:00 …

10
ฉันต้องทำลายอะไรในโลกนี้?
พลังงานที่มีผลผูกพันแรงโน้มถ่วงของดาวเคราะห์เป็นปริมาณของพลังงานที่จำเป็นในการแยกทุกชิ้นเล็ก ๆ ของมันเพื่อให้ไม่มีชิ้นจะโคจรหรือชนกับอีกชิ้นหนึ่ง วิกิพีเดียมีสูตรนี้: E= 3 G M25 RE=3GM25RE = \frac{3GM^2}{5R} โดยที่ G คือค่าคงตัวความโน้มถ่วง (6.672e-11 m 3 • kg -1 • s -2 ), M คือมวลและ R คือรัศมี ฉันสามารถสร้างความท้าทายนี้ได้เพียงแค่คำนวณสิ่งนี้ในจูล (กก. •ม. 2 • s -2 ) แต่…ที่น่าเบื่อน่าเบื่อและนอกจากนี้ทุกคนไม่เข้าใจจูล ดังนั้นให้แปลงเป็นหน่วยต่อไปนี้แทน Kilotons ของ TNT (4.184 ล้านล้านจูลชวเลข kilotons ) อาวุธนิวเคลียร์ฮิโรชิมา (62.76 ล้านล้านจูลชวเลข nukes ) …

14
ไบนารีเพรียบพร้อม
เรากำลังค้นหาลำดับ ใช้ตัวเลขธรรมชาติ 1,2,3,4,5,6,7,8,9,10,11,12,13,14... แปลงเป็นฐาน -2 1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110... Concatenateตัวเลขดังกล่าวข้างต้น 110111001011101111000100110101011110011011110... แบ่งหมายเลขนี้ในPrime-Chunks (chunks ที่มีจำนวนเฉพาะจำนวนหลัก) Primes จะถูกดำเนินการตามลำดับ2,3,5,7,11,13,17... [11][011][10010][1110111][10001001101][0101111001101][1110...] และหาผลรวมของตัวเลขของแต่ละอัน Primes 2 3 5 7 11 13 17 Chunks [11][011][10010][1110111][10001001101][0101111001101][1110...] SumOfDigits 2 2 2 6 5 8 The Sequence 2, 2, 2, 6, 5, 8, 9, 10, 14, 22, 11, 18, 25, 27, 32, 21, …

7
จำนวนขององค์ประกอบที่ไม่ว่างที่แตกต่างกันของการขยายฐานสอง
การเรียงลำดับคือลำดับใด ๆ ที่คุณสามารถหาได้จากอีกอันด้วยการลบจำนวนอักขระใด ๆ subsequences ไม่ว่างเปล่าที่แตกต่างของ100มี0, 1, 00, ,10 100subsequences ไม่ว่างเปล่าที่แตกต่างของ1010มี0, 1, 00, 01, 10, 11,010 , 100, 101, ,1101010 เขียนโปรแกรมหรือฟังก์ชั่นที่ให้จำนวนเต็มบวก nส่งกลับจำนวนของ subsequences ไม่ว่างเปล่าที่แตกต่างกันของการขยายตัวไบนารีของn ตัวอย่าง: ตั้งแต่4เป็น100ในไบนารีและเราเห็นว่ามันมีห้า subsequences f(4) = 5ไม่ว่างเปล่าที่แตกต่างกันข้างต้นดังนั้น เริ่มต้นจากn = 1ลำดับเริ่มต้น: 1, 3, 2, 5, 6, 5, 3, 7, 10, 11, 9, 8, 9, 7, 4, 9, 14, …

6
Kolakoski เหมือนลำดับการอ้างอิงตนเอง
นี่คือวิธีการกำหนดลำดับ Kolakoski (OEIS A000002 ): ลำดับ Kolakoski เป็นลำดับที่มี 1และ2และnองค์ประกอบที่สามของลำดับคือความยาวของnกลุ่ม th ขององค์ประกอบที่เท่าเทียมกัน (เรียกใช้) ในลำดับนั้น 20 คำแรกของลำดับและความยาวตามลำดับคือ: 1 2 2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 2 1 - --- --- - - --- - --- --- - --- --- - 1 2 …

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