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

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

3
ปัญหาลูป Brainf * ck
ฉันมีปัญหากับไซเบอร์คลับที่ขอให้คุณพิมพ์: ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! ใช้ Brainf ** k ใน 29 ไบต์หรือน้อยกว่าโดยไม่ใช้อักขระ ',' ฉันมีรหัสที่ใช้งานได้: ++++++++++[>++++++>+++++++++<<-]>-->.<[>-.<-] อย่างไรก็ตามการวนซ้ำของฉันยาวเกินไปส่ง 16 ไบต์เกินขีด จำกัด มีวิธีที่มีประสิทธิภาพมากกว่าในการตั้งค่าเซลล์ที่สองและสามเป็น 58 และ 90 เพื่อให้ฉันสามารถรันลูปที่สองของฉันได้หรือไม่? หรือมีวิธีที่ดีกว่าในการทำทั้งหมดนี้ด้วยกันที่ฉันไม่ได้เห็น?

2
Chuck Norris กับพนักงานขายเดินทาง
บทนำ เกือบทุกคนคุ้นเคยกับปัญหาพนักงานขายเดินทาง (TSP) ภารกิจคือให้รายชื่อNเมืองค้นหารอบมิลโตเนียนขั้นต่ำซึ่งจะกล่าวถึงเส้นทางที่สั้นที่สุดที่เข้าชมแต่ละเมืองและกลับมาเป็นวงกลมแบบเต็มกลับไปที่จุดเริ่มต้น นั่นไม่ใช่ความท้าทายนี้เกี่ยวกับ ความท้าทายนี้คือการนำโซลูชัน Chuck Norris ไปใช้กับ TSP: Chuck Norris แก้ไขปัญหาพนักงานขายเดินทางให้O(1)ทันเวลาแบ่งพนักงานขายออกเป็นชิ้น ๆ เตะแต่ละชิ้นไปยังเมืองอื่น ท้าทาย เพื่อที่จะแก้ปัญหา TSP ด้วยวิธีนี้เราต้องการพนักงานขายที่มีความทนทานเพียงพอที่จะไม่หนีจากความยุ่งยากเช่นการสูญเสียอวัยวะ จำนวนเมืองที่ควรเยี่ยมชม ชุดผลิตภัณฑ์ที่จะขาย วิธีที่เป็นรูปธรรมสำหรับการแยกส่วน และการคำนวณเพื่อให้คะแนน สเปค เมือง N คือจำนวนการอ้างถึงพนักงานขายของเราจะไปเยี่ยมชม พนักงานขาย โปรแกรมหรือฟังก์ชั่นหลัก เขียนเป็นภาษา X ด้วยความยาว mod Nเท่ากับ0 ผลิตภัณฑ์ ชื่อเต็มขององค์ประกอบบนตารางธาตุ ซึ่งรวมถึงชื่อขององค์ประกอบที่ยอมรับใหม่ สูญเสียอวัยวะ แบ่งพนักงานขายเป็นNชิ้น ๆ ที่มีความยาวเท่ากัน แต่ละชิ้นควรเป็นฟังก์ชันหรือโปรแกรมที่ถูกต้องในภาษา X เอาท์พุต เมื่อดำเนินการพนักงานขายควรส่งออก Chuck Norrisและชิ้นที่หั่นบาง ๆ ควรส่งออกผลิตภัณฑ์ที่แตกต่างกัน ยอมรับเฉพาะพื้นที่สีขาวต่อท้ายเท่านั้น …

14
การทำลายการสืบค้น
ฉันรู้ว่าคุณเคยคิดเกี่ยวกับการทดลองและความยากลำบากในการประสบความสุขในชีวิตเป็นเว็บพร็อกซี่ สุจริตใครยังไม่ได้? วันนี้คุณได้รับมอบหมายให้ตระหนักถึงเป้าหมายนี้ (อย่างน้อยก็เป็นส่วนหนึ่งของมัน) เว็บไซต์ X ได้รับปริมาณการใช้งานจำนวนมากในแต่ละวันและกำลังมองหา PaaS (เห็นได้ชัดว่านี่หมายถึงพร็อกซีในรูปแบบบริการ) เนื่องจากมีผู้ใช้จำนวนมากที่ยืนยันการส่งผ่านข้อมูลที่ละเอียดอ่อนผ่านพารามิเตอร์การสืบค้น งานของคุณคือการลบพารามิเตอร์เคียวรีใด ๆ และที่สำคัญทั้งหมดออกจากคำขอก่อนที่จะส่งต่อคำขอผ่านไปยังปลายทางดั้งเดิม อินพุต ดีที่เกิดขึ้น URL แบบ HTTP แน่นอนที่เป็นไปตามหลักไวยากรณ์ URI ในRFC3986 มาตรา 3 คุณสามารถสันนิษฐานได้ว่าไม่มีชิ้นส่วน ตัวอย่างรูปแบบย่อที่มีอะไรในวงเล็บเหลี่ยมหมายถึงทางเลือก: http[s]://[user:pass@]host.name.com[:port]/[?param1=value1&param2=value2...] รายการพารามิเตอร์การสืบค้นที่จะถูกลบ เอาท์พุต HTTP URL ที่แก้ไขโดยไม่มีพารามิเตอร์ที่กำหนดในรายการอินพุต ตัวอย่าง http://example.com/ [foo] > http://example.com/ http://example.com/?foo=bar [] > http://example.com/?foo=bar http://example.com/ [] > http://example.com/ http://example.com/?foo=1&bar=2&baz=3 [foo,baz] > http://example.com/?bar=2 http://example.com/?foo=1&bar=2&baz=3 [foo,bar,baz] …
19 code-golf 

13
กำลังดำเนินการเรียงลำดับฟอง
สร้างฟังก์ชั่นหรือโปรแกรมที่รับสองอินพุต: รายการจำนวนเต็มที่จะเรียงลำดับ (น้อยกว่า 20 องค์ประกอบ) จำนวนเต็มบวกNบอกจำนวนการเปรียบเทียบที่คุณควรทำ ฟังก์ชั่นจะหยุดและส่งออกรายการผลลัพธ์ของจำนวนเต็มหลังจากNการเปรียบเทียบ หากรายการถูกเรียงลำดับอย่างสมบูรณ์ก่อนทำการNเปรียบเทียบดังนั้นรายการที่เรียงควรถูกเอาท์พุท ฟองเรียงลำดับขั้นตอนวิธีการเป็นที่รู้จักกันดีและผมคิดว่าคนส่วนใหญ่รู้ว่ามัน รหัสหลอกและภาพเคลื่อนไหวต่อไปนี้ (ทั้งจากบทความ Wikipedia ที่เชื่อมโยง) ควรให้รายละเอียดที่จำเป็น: procedure bubbleSort( A : list of sortable items ) n = length(A) repeat swapped = false for i = 1 to n-1 inclusive do /* if this pair is out of order */ if A[i-1] > …

11
คำถามของคุณคืออะไร
บทนำ เมื่อคุณได้รับข้อความที่น่าเบื่อคุณเพียงแค่ต้องการเอาชนะให้เร็วที่สุด ลองสังเกตข้อความต่อไปนี้: Ens colligi timenda etc priorem judicem. De quascunque ii at contingere repugnaret explicetur intellectu. Adjuvetis hoc fortassis suspicari opportune obversari vix eam? Dei praemia prudens hominum iii constet requiri haberem. Ima sane nemo modi fuit lus pro dem haud. Vestro age negare tactum hoc cui lor. Ne …

4
แปลง Expression เป็น Panfix Notation
ฉันถูกเรียกดู esolangs และ chanced เมื่อภาษานี้: https://github.com/catseye/Quylthulg สิ่งหนึ่งที่น่าสนใจเกี่ยวกับภาษานี้คือมันไม่ได้ใช้คำนำหน้า postfix หรือมัดมันใช้ทั้งสามคนเรียกมันว่า "panfix" สัญกรณ์ นี่คือตัวอย่าง เพื่อเป็นตัวแทนของมัดปกติ1+2ใน panfix +1+2+มันจะกลายเป็น: สังเกตว่าผู้ประกอบการมีทั้งก่อนระหว่างและหลังตัวถูกดำเนินการ (1+2)*3อีกตัวอย่างหนึ่งคือ *+1+2+*3*นี้จะกลายเป็น แจ้งให้ทราบอีกครั้งว่า*มีอยู่ในทุกสามสถานที่ที่เกี่ยวกับการถูกดำเนินและ+1+2+3 ความท้าทาย ดังที่คุณอาจเดาได้งานของคุณในการท้าทายนี้คือการแปลงนิพจน์จากมัดเป็น Panfix คำอธิบายบางอย่าง: คุณต้องจัดการกับการดำเนินงานพื้นฐานสี่ประการเท่านั้น: +-*/ คุณไม่จำเป็นต้องจัดการกับไบนารีรุ่นเดียวเท่านั้น คุณต้องจัดการกับวงเล็บ สมมติว่ากฎที่มีมาก่อนเป็นปกติจาก*/นั้น+-และปล่อยให้การเชื่อมโยงสำหรับพวกเขาทั้งหมด ตัวเลขจะเป็นจำนวนเต็มไม่ใช่ค่าลบ คุณสามารถเลือกที่จะมีช่องว่างทั้งอินพุตและเอาต์พุต กรณีทดสอบ 1+2 -> +1+2+ 1+2+3 -> ++1+2++3+ (1+2)*3 -> *+1+2+*3* 10/2*5 -> */10/2/*5* (5+3)*((9+18)/4-1) -> *+5+3+*-/+9+18+/4/-1-* นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!

16
ไฮไลต์กล่อง Bounding ตอนที่ 1: ตารางคาร์ทีเซียน
คุณได้รับตารางสี่เหลี่ยมของตัวละคร.และ#เช่นนี้ .......... ..#....... ....#..#.. ...#...... .......... งานของคุณคือเติมช่องว่างที่จัดเรียงตามแนวแกนของกล่อง#ด้วย#: .......... ..######.. ..######.. ..######.. .......... #แกนชิดกรอบเป็นรูปสี่เหลี่ยมผืนผ้าขนาดเล็กที่สุดที่มีทั้งหมด ต้องการมากขึ้น? ลอง Part II! กฎระเบียบ คุณอาจจะใช้ทั้งสองแตกต่างกันตัวอักขระ ASCII (0x20 เพื่อ 0x7E รวม) ในสถานที่และ# .ฉันจะอ้างถึงพวกเขาเป็น#และ.สำหรับส่วนที่เหลือของข้อกำหนดแม้ว่า อินพุตและเอาต์พุตอาจเป็นสตริงที่คั่นด้วยบรรทัดเดียวหรือรายการสตริง (หนึ่งสำหรับแต่ละบรรทัด) แต่รูปแบบต้องสอดคล้องกัน คุณอาจสมมติว่าอินพุตมีอย่างน้อยหนึ่ง#บรรทัดและทุกบรรทัดมีความยาวเท่ากัน คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานของเราในการรับอินพุตและให้เอาต์พุต คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง - วัดเป็นไบต์ - ชนะ กรณีทดสอบ กรณีทดสอบแต่ละชุดมีอินพุตและเอาต์พุตอยู่ติดกัน # # ... ... #.. #.. ... ... ... ... …

14
การคำนวณสารบบ
สำหรับความท้าทายนี้คุณจะได้รับเส้นทางที่แน่นอนและเส้นทาง "ใหม่" (ซึ่งอาจเป็นแบบสัมบูรณ์หรือแบบสัมพัทธ์) และคุณต้องกลับเส้นทางสุดท้าย ตัวอย่างเช่นหากไดเรกทอรีปัจจุบันของคุณคือ/var/tmp/test: my_dirหรือmy_dir/ ควรกลับมา/var/tmp/test/my_dir ../../my_dir ควรกลับมา /var/my_dir /my_dir/./ ควรกลับมา /my_dir ../../../../../ ควรกลับมา / หากต้องการความคล่องแคล่วมากขึ้น: ไดเรกทอรีเป็นสตริงที่ไม่ว่างเปล่าประกอบด้วยตัวอักษรและตัวเลขและสัญลักษณ์-, _หรือ. เส้นทางนี้เป็นรายการของ 0 หรือมากกว่าไดเรกทอรี/แยกโดยใช้ พา ธ สัมบูรณ์เริ่มต้นด้วย a /, พา ธ สัมพัทธ์ไม่ /เส้นทางอาจรวมถึงตอนจบ คุณต้อง "แก้ไข" เส้นทางที่สองให้เส้นทางแรก กระบวนการแก้ไขคือ: ทดสอบว่าเส้นทางที่สองสัมพันธ์หรือไม่ ถ้าเป็นเช่นนั้นให้ใส่ไดเรกทอรีของเส้นทางที่แน่นอนไปยังจุดเริ่มต้นของเส้นทางที่สอง หากมีไดเรกทอรีใด ๆ ให้..ลบออกและไดเรกทอรีก่อนหน้า หากเป็นไดเรกทอรีแรกให้ลบออก หากมีไดเรกทอรีใด ๆ ให้.ลบออก เอาต์พุตพา ธ สัมบูรณ์สุดท้าย /คุณไม่ควรออกสิ้นสุด คุณไม่จำเป็นต้องจัดการกับอินพุตที่ไม่ถูกต้อง คำสั่งควรใช้งานได้ไม่ว่าจะมีไดเรกทอรีที่ส่งผ่านอยู่จริงในเครื่องของคุณหรือไม่ …

5
สร้างสกรีนเซฟเวอร์ Windows ME ใหม่เป็น ASCII
ความท้าทายนี้ได้รับแรงบันดาลใจจากคำตอบนี้ที่ Ask Ubuntu Stack Exchange Intro จำหน้าจอ Windows ME ด้วยไพพ์หรือไม่? ถึงเวลานำความคิดถึงกลับมาแล้ว! ท้าทาย คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่จะแสดงผลเป็นตัวแทน ASCII ของสกรีนเซฟเวอร์ ในสกรีนเซฟเวอร์ควรมีท่อเดียวซึ่งจะเติบโตในทิศทางกึ่งสุ่ม จุดเริ่มต้นของท่อจะถูกวางแบบสุ่มที่ขอบใด ๆ ของหน้าจอและชิ้นส่วนท่อควรตั้งฉากกับเส้นขอบ (มุมแรก - ท่อสามารถเป็นแนวนอนหรือแนวตั้ง) แต่ละเห็บท่อจะเติบโตในทิศทางที่หันหน้าไปทาง (แนวนอน / แนวตั้ง) ที่80%บังเอิญหรือมีมุมที่มี20%โอกาส ตัวแทนท่อ ในการสร้างไปป์จะใช้อักขระ Unicode 6 ตัว ─ \u2500 horizontal pipe │ \u2502 vertical pipe ┌ \u250C upper left corner pipe ┐ \u2510 upper right …

18
เรียงลำดับเดือนของปี
เขียนฟังก์ชั่นหรือโปรแกรมที่ใช้ปัจจัยการผลิตสายเต็มสะกดชื่อภาษาอังกฤษเดือนในกรณีที่ชื่อเรื่อง: January, February, Marchฯลฯ (null / CR / LF ยกเลิกตกลงคั่นด้วยกับบางส่วนของตัวละครที่ไม่ใช่อัลฟาดังนั้นหากคุณเลือก) และทั้ง เปรียบเทียบสองอินพุตคืนค่าจริงถ้าอินพุทที่สองมากกว่า (เรียงตามลำดับเดือน) มากกว่าอินพุทแรก ค่าที่เท่ากันส่งผลให้ค่า Falsey หรือเรียงลำดับตามลำดับ (รายการ, สตริงที่คั่น, ฯลฯ ) ของลำดับตามลำดับเวลา (ปมของความท้าทายคือการกำหนดวิธีการ / การแสดงออกที่ให้เรียงลำดับพจนานุกรมที่ถูกต้องบางภาษาอาจมีคำตอบที่สั้นกว่ากับหนึ่งหรืออื่น ๆ ) คุณไม่สามารถใช้วิธีการแยกวิเคราะห์ภายในเวลาใดก็ได้ (เช่นstrptime) เพื่อแปลชื่อเดือนเป็นตัวเลขหรือการทำแผนที่กระป๋องของชื่อเดือน ใช้คุณสมบัติของสตริงเองตารางการค้นหาที่คุณกำหนดหรือสิ่งที่ฉลาด ตัวอย่าง ตัวอย่างการใช้งานแม้ว่ากฎข้อแรกจะถูกห้ามใช้ ... import datetime def is_later_month(a, b): ''' Example of prohibited code because it relies on language features …

30
สลับอาเรย์บูลีน
คนเรียบง่ายดี อินพุต รับอาเรย์บูลีน (หรือทางเลือกที่ยอมรับได้) คุณสามารถสันนิษฐานได้ว่าอาเรย์จะไม่ยาวเกิน 32 องค์ประกอบ [false, false, true, false, false] เอาท์พุต ย้อนกลับทุกองค์ประกอบของอาร์เรย์และส่งออกมัน [true, true, false, true, true] กฎระเบียบ คุณสามารถเขียนโปรแกรมเต็มหรือเพียงแค่ฟังก์ชั่น ช่องโหว่มาตรฐานใช้ รหัสที่สั้นที่สุดเป็นไบต์ต่อภาษาชนะ! กรณีทดสอบ Input: [true, false] Output: [false, true] Input: //Example of acceptable alternative [0,1,1] Output: [1,0,0]

4
กำหนดผู้ชนะของเกมแห่งสงคราม
เกมไพ่สงครามเป็นที่น่าสนใจว่าผลลัพธ์สุดท้ายจะถูกกำหนดโดยการเริ่มต้นของเด็คตราบใดที่กฎบางอย่างมีการปฏิบัติตามลำดับที่ไพ่ถูกหยิบขึ้นมาจากสนามเด็กเล่นและย้ายไปที่เด็ค ในความท้าทายนี้จะมีผู้เล่นเพียง 2 คนทำให้สิ่งต่าง ๆ ง่ายขึ้นอย่างมาก เกม ผู้เล่นแต่ละคนจะได้รับไพ่ 26 ใบ ผู้เล่นแต่ละคนวางไพ่บนสุดในหน้าหงายหน้า ผู้เล่นที่มีไพ่อันดับสูงกว่า ( Ace > King > Queen > Jack > 10 > 9 > 8 > 7 > 6 > 5 > 4 > 3 > 2) ชนะรอบและวางไพ่ไว้ที่ด้านบนของการ์ดของคู่ต่อสู้พลิกพวกเขาและเพิ่มพวกเขาที่ด้านล่างของสำรับ (ดังนั้นไพ่ที่ชนะจะอยู่ที่ด้านล่างของสำรับ และการ์ดที่แพ้ของผู้เล่นคนอื่นจะอยู่เหนือการ์ดนั้น) สิ่งนี้จะทำจนกว่าผู้เล่นคนหนึ่งจะหมดไพ่ หากไพ่อยู่ในอันดับที่เท่ากันผู้เล่นแต่ละคนจะวางไพ่ 2 ใบบนสุดของไพ่หงายหน้าขึ้นด้านบนของไพ่ใบที่แล้ว (เพื่อให้ไพ่ที่อยู่ด้านบนของสำรับเป็นไพ่ใบที่สองในกองซ้อนและ การ์ดที่ถูกรองจากด้านบนอยู่ด้านบน) จากนั้นอันดับ (ของการ์ดอันดับสูงสุดของแต่ละสแต็ค) จะถูกนำมาเปรียบเทียบอีกครั้งและผู้ชนะจะวางสแต็คทั้งหมดไว้ที่ด้านบนของสแต็กทั้งหมดของผู้แพ้เปลี่ยนสแต็กคว่ำลงและวางไว้ที่ด้านล่าง …

13
The Chameleon Challenge การเปลี่ยนสีอำพราง
ความท้าทายกิ้งก่าเป็นสิ่งที่ไม่ดีที่เห็นได้ชัด แย่มากกิ้งก่าเป็นสัตว์ที่สวยงาม ได้เวลาเปลี่ยนแล้ว! อย่างที่เรารู้กันว่ากิ้งก่าจำนวนมากมีความสามารถที่โดดเด่นในการผสมผสานกับสภาพแวดล้อมโดยการเปลี่ยนสีผิวของพวกเขา ซึ่งยังเป็นเป้าหมายของการท้าทายนี้ ท้าทาย ลองนึกภาพสี่เหลี่ยมจัตุรัสเก้าพิกเซล แปดพิกเซลคือสภาพแวดล้อม ที่จุดศูนย์กลางคือกิ้งก่า แบบนี้: กิ้งก่าจะพยายามกลมกลืนกับสภาพแวดล้อมโดยธรรมชาติ มันทำได้โดยการเปลี่ยนสีเป็นค่าเฉลี่ยของพิกเซลโดยรอบ ดังนั้นในกรณีนี้กิ้งก่าจะเปลี่ยนสีไป วัตถุประสงค์ ให้สีของพิกเซลโดยรอบเอาท์พุทสีของกิ้งก่าเปลี่ยนสี สีของกิ้งก่าถูกกำหนดให้เป็นผลรวมของสีแดงสีเขียวและสีน้ำเงินทั้งหมดในพิกเซล÷ 8 อินพุต อาร์เรย์ของค่าสีสำหรับแปดพิกเซลโดยรอบเริ่มต้นที่ด้านบนซ้ายและต่อเนื่องตามเข็มนาฬิกาเช่นนี้: [[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>]] คุณอาจเลือกที่จะรับอินพุตในรูปแบบที่แตกต่างกันตราบใดที่มันประกอบด้วยเลขทศนิยมแปดถึงแปดจำนวน 0-255 หากคุณได้รับการป้อนข้อมูลในรูปแบบที่แตกต่างกันตัวเลขต้องมีความยาวที่สอดคล้องกันหรือมีตัวคั่นที่ไม่ใช่ตัวเลขระหว่างพวกเขา อเนกประสงค์จะต้องมีตัวละครแยกเว้นแต่พวกเขาจะ 0 เบาะถึง 9 หลัก (เช่น044200255044200255044200255044200255044200255044200255044200255044200255ถูกต้องเช่นนั้น44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 …

7
สร้าง n หลักของลำดับ Gijswijt
บทนำ ลำดับของ Gijswijt ( A090822 ) มีชื่อเสียงมากจริงๆช้ามาก เพื่อแสดง: 3 รายการแรกจะปรากฏในเทอมที่ 9 (ไม่เป็นไร) 4 รายการแรกจะปรากฏในเทอมที่ 220 (อยู่ไกล แต่เป็นไปได้) 5 ตัวแรกจะปรากฏขึ้นที่ (โดยประมาณ) คำที่10 ^ (10 ^ 23) th (ไม่ถึง) ไม่มีใครรู้จริง ๆ ว่า 6 ตัวแรกคืออะไร ... มันน่าสงสัยว่ามันอยู่ที่ ... 2 ^ (2 ^ (3 ^ (4 ^ 5))) คำศัพท์ที่ คุณสามารถสันนิษฐานได้ว่าคุณไม่ต้องจัดการกับตัวเลขสองหลัก มีการสร้างลำดับดังนี้: เทอมแรกคือ 1 แต่ละคำหลังจากนั้นคือจำนวนการ …

14
การแยกแบบไม่ต่อเนื่องหรือการคูณพหุนาม
เนื่องจากรายการจำนวนเต็มสองรายการที่ไม่ว่างเปล่าการส่งของคุณควรคำนวณและส่งกลับค่าการแยกแบบไม่ต่อเนื่องของทั้งสองรายการ ที่น่าสนใจถ้าคุณพิจารณาองค์ประกอบของรายการเป็นค่าสัมประสิทธิ์ของพหุนาม, การบิดของทั้งสองรายการแสดงถึงค่าสัมประสิทธิ์ของผลิตภัณฑ์ของพหุนามทั้งสอง คำนิยาม รับรายการA=[a(0),a(1),a(2),...,a(n)]และB=[b(0),b(1),b(2),...,b(m)](การตั้งค่าa(k)=0 for k<0 and k>nและb(k)=0 for k<0 and k>m) จากนั้นสังวัตนาของทั้งสองจะถูกกำหนดเป็นA*B=[c(0),c(1),...,c(m+n)]ที่ไหนc(k) = sum [ a(x)*b(y) for all integers x y such that x+y=k] กฎระเบียบ อนุญาตการจัดรูปแบบอินพุตและเอาต์พุตที่สะดวกสำหรับภาษาของคุณ ไม่ควรใช้บิวด์อินเพื่อสร้างสัมพันธภาพการสร้างสัมพันธภาพร่วมสมัยและการคูณพหุนามจะไม่ได้รับอนุญาต ตัวอย่าง [1,1]*[1] = [1,1] [1,1]*[1,1] = [1,2,1] [1,1]*[1,2,1] = [1,3,3,1] [1,1]*[1,3,3,1] = [1,4,6,4,1] [1,1]*[1,4,6,4,1] = [1,5,10,10,5,1] [1,-1]*[1,1,1,1,1] = [1,0,0,0,0,-1] [80085,1337]*[-24319,406] = …

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