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

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

8
การหารหารหาร
nnn(k1,k2,...,km)(k1,k2,...,km)(k_1,k_2,...,k_m)ki⩾2ki⩾2k_i \geqslant 2k1⋅k2⋅...⋅km=nk1⋅k2⋅...⋅km=nk_1 \cdot k_2 \cdot ... \cdot k_m = n k1|k2 , k2|k3 , … , km−1|km.k1|k2 , k2|k3 , … , km−1|km.k_1 | k_2 \text{ , } k_2 | k_3 \text{ , } \ldots \text{ , }k_{m-1}|k_m.a|ba|ba|bbbbaaan>1n>1n>1kikik_i222n=1n=1n=1 เราไม่มีปัจจัยดังกล่าวและดังนั้นเราจึงได้รับสิ่งอันดับที่ว่างเปล่า ในกรณีที่คุณอยากรู้ว่าสิ่งนี้มาจากไหน: การสลายตัวนี้เรียกว่าการสลายตัวของปัจจัยไม่แปรเปลี่ยนในทฤษฎีจำนวนและมันถูกใช้ในการจำแนกกลุ่ม Abelian ที่สร้างขึ้นอย่างประณีต ท้าทาย รับเอาท์พุทtuples เช่นนี้ทั้งหมดสำหรับได้รับหนึ่งครั้งตามลำดับที่คุณต้องการ อนุญาตรูปแบบเอาต์พุตลำดับมาตรฐานnnn(k1,k2,...,km)(k1,k2,...,km)(k_1,k_2,...,k_m)nnn ตัวอย่าง 1: …

27
Tex Quotes (UVa 272)
กำหนดสตริงให้แทนที่เครื่องหมายอัญประกาศคู่ซ้ายทั้งหมดเป็น backticks สองรายการและเครื่องหมายอัญประกาศคู่ด้านขวาทั้งหมดเป็นเครื่องหมายคำพูดเดี่ยวสองตัว เครื่องหมายคำพูดซ้ายหมายถึงเครื่องหมายคำพูดที่เริ่มต้นการเสนอราคา คำพูดที่ถูกต้องหมายถึงคำพูดที่จบคำพูด ไม่สามารถซ้อนคำพูดได้ คุณอาจคิดว่ามีจำนวนคู่ของคำพูดคู่ในสตริง ตัวอย่าง การป้อนข้อมูล: "To be or not to be," quoth the Bard, "that is the question". The programming contestant replied: "I must disagree. To `C' or not to `C', that is The Question!" เอาท์พุท: ``To be or not to be,'' quoth the Bard, ``that …
17 code-golf 

6
สร้าง Prime Squares!
Prime Square คืออะไร Prime Square เป็นสี่เหลี่ยมจัตุรัสซึ่งทั้งสี่ขอบมีจำนวนเฉพาะแตกต่างกัน แต่อันไหน และเราจะสร้างพวกเขาได้อย่างไร นี่คือตัวอย่างของ 4x4 Prime Square 1009 0 0 3 0 1021 ก่อนอื่นเราเริ่มจากมุมซ้ายบน เรากำลังทำงานตามเข็มนาฬิกา เราเลือกที่เล็กที่สุดจำนวนที่มีนายก4ตัวเลขซึ่งเป็น1009 แล้วเราต้องจำนวนเฉพาะที่เล็กที่สุดมีตัวเลขซึ่งเริ่มต้นด้วย4 9นี่คือ9001 ที่สาม (4 หลัก) จำนวนที่สำคัญจะต้องมี1เป็นหลักสุดท้ายของมัน (เพราะ9001สิ้นสุดลงด้วย1) และยังเป็นที่เล็กที่สุดที่สำคัญ 4 หลักที่มีคุณสมบัตินี้ที่ไม่ได้ถูกนำมาใช้ก่อนที่จะเป็นขอบ จำนวนเฉพาะนี้คือ1,021 หมายเลขเฉพาะหลักที่สี่ต้องมี4ตัวเลขเริ่มต้นด้วย1(เพราะ1009ขึ้นต้นด้วย a 1) และลงท้ายด้วย1(เพราะ1,021เริ่มต้นด้วย a 1) จำนวนเฉพาะ 4 หลักที่เล็กที่สุดด้วยคุณสมบัตินี้ที่ไม่ได้ใช้มาก่อนเนื่องจากขอบคือ1031 งานของคุณ คุณจะได้รับจำนวนเต็มnจาก3 to 100 จำนวนนี้จะเป็นขนาดของสn x nแควร์ จากนั้นคุณจะต้องส่งออกสแควร์ตรงนี้ในรูปแบบของกรณีทดสอบต่อไปนี้ กรณีทดสอบ …

17
นั่นไม่ใช่ X ของฉันมันคือ Y เกินไป Z
ความท้าทายนี้ได้รับแรงบันดาลใจจากหนังสือเด็กชุดหนึ่งโดย Fiona Watt และ Rachel Wells ซึ่งฉันเพิ่งสนุกกับลูกสาวของฉัน ในหนังสือแต่ละเล่มหนู (ภาพประกอบ แต่ไม่ได้เป็นส่วนหนึ่งของข้อความ) บ่นว่าการสืบเนื่องของ 5 สิ่งประเภทเดียวกันไม่ใช่สิ่งที่มัน จากนั้นสำรองข้อมูลนี้โดยการประกาศว่าองค์ประกอบบางอย่างของสิ่งนี้ไม่มีคุณสมบัติที่คาดหวัง ในครั้งที่หกของการถามเมาส์พบสิ่งและยินดีเพราะมันมีคุณสมบัติที่คาดหวัง นี่คือข้อความตัวอย่างทั่วไป: That's not my bunny, its tail is too fluffy. That's not my bunny, its paws are too rough. That's not my bunny, its tail is too woolly. That's not my bunny, its eyes are …
17 code-golf 

30
เหตุการณ์แรกในลำดับ Sixers
ลำดับซิกส์เป็นชื่อที่จะได้รับการลำดับA087409 ฉันเรียนรู้เกี่ยวกับลำดับนี้ในวิดีโอ Numberphileและสามารถสร้างได้ดังนี้ ก่อนอื่นคูณด้วย 6 เขียนในฐาน 10: 6, 12, 18, 24, 30, 36, ... ถัดไปต่อตัวเลขให้เป็นตัวเลข: 61218243036... ในที่สุดจัดกลุ่มสตรีมเป็นคู่และตีความแต่ละรายการเป็นจำนวนเต็ม: 61, 21, 82, 43, 3, ... เมื่อเราจัดกลุ่มตัวเลขเป็นคู่จำนวนสูงสุดในลำดับจะเท่ากับ 99 และปรากฎว่าจำนวนเต็มไม่ใช่ลบทั้งหมดน้อยกว่า 100 แสดงในลำดับ ความท้าทายนี้คือการหาดัชนีของอินสแตนซ์แรกของตัวเลขในลำดับ Sixers อินพุต [0-99]จำนวนเต็มในช่วง คุณไม่จำเป็นต้องบัญชีตัวเลขนอกช่วงนี้และวิธีการแก้ปัญหาของคุณอาจมีพฤติกรรมใด ๆ หากมีการป้อนข้อมูลดังกล่าว เอาท์พุต ดัชนีของการเกิดขึ้นครั้งแรกของหมายเลขอินพุตในลำดับ Sixers นี่อาจเป็น 0- หรือ 1-indexed; โปรดบอกสิ่งที่คุณกำลังใช้ในคำตอบของคุณ กฎระเบียบ ขั้นตอนในการสร้างลำดับที่บันทึกไว้ในบทนำมีไว้เพื่อเป็นตัวอย่างเท่านั้นคุณสามารถใช้วิธีการใดก็ได้ที่คุณต้องการตราบใดที่ผลลัพธ์เหมือนกัน คุณสามารถส่งโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบ อนุญาตให้ใช้วิธีการอินพุตและเอาต์พุตใด ๆ ที่เหมาะสม ช่องโหว่มาตรฐานไม่ได้รับอนุญาต …

23
แจกแจง Derangements
รับจำนวนเต็มบวกnnnสร้าง derangements ทั้งหมดของnnnวัตถุ รายละเอียด การเรียงสับเปลี่ยนเป็นการเปลี่ยนแปลงที่ไม่มีจุดคงที่ (ซึ่งหมายความว่าในทุกหมายเลข derangement iiiไม่สามารถอยู่ในรายการiii th) ผลลัพธ์ควรประกอบด้วยตัวเลข(1,2,…,n)(1,2,…,n)(1,2,\ldots,n) (หรืออีกทางหนึ่ง(0,1,2,…,n−1)(0,1,2,…,n−1)(0,1,2,\ldots,n-1) ) คุณสามารถพิมพ์ Derangements ของ(n,n−1,…,1)(n,n−1,…,1)(n,n-1,\ldots,1) (หรือ(n−1,n−2,…,1,0)(n−1,n−2,…,1,0)(n-1,n-2,\ldots,1,0)ตามลำดับ) แต่คุณต้องระบุ เอาท์พุทจะต้องถูกกำหนดไว้นั่นคือเมื่อใดก็ตามที่โปรแกรมถูกเรียกด้วยบางอย่างให้nnnเป็นอินพุทเอาท์พุทควรจะเหมือนกัน (ซึ่งรวมถึงคำสั่งของ derangements จะต้องยังคงเหมือนเดิม) และเอาท์พุททั้งหมดจะต้องทำภายใน จำนวน จำกัด ของเวลาทุกครั้ง (ไม่เพียงพอที่จะทำเช่นนั้นกับความน่าจะเป็น 1) คุณสามารถสันนิษฐานได้ว่าn⩾2n⩾2 n \geqslant 2 สำหรับบางnnnคุณสามารถสร้างความแตกต่างทั้งหมดหรือคุณสามารถใช้จำนวนเต็มkkkอื่นที่ทำหน้าที่เป็นดัชนีและพิมพ์kkk -th derangement (ตามลำดับที่คุณเลือก) ตัวอย่าง โปรดทราบว่าคำสั่งของ derangements ไม่จำเป็นต้องเหมือนกับที่แสดงไว้ที่นี่: n=2: (2,1) n=3: (2,3,1),(3,1,2) n=4: (2,1,4,3),(2,3,4,1),(2,4,1,3), (3,1,4,2),(3,4,1,2),(3,4,2,1), (4,1,2,3),(4,3,1,2),(4,3,2,1) OEIS A000166นับจำนวนความเสียหาย

13
ดาวทำให้ดาว
บทนำ แนวคิดคือการใช้อักขระเครื่องหมายดอกจัน (ดาว) *เพื่อแสดงดาว ascii-art ในมิติที่ระบุ มิติคือหมายเลขอินพุตที่มากกว่าหรือเท่ากับ111ซึ่งระบุความสูงเป็นเส้นของจุดบนของดาว ดาวที่นี่มีจุดประสงค์เพื่อเป็นดาวหกแฉกที่มีขนาดใหญ่ขึ้นดูดีขึ้นจากมุมมองของภาพ ในทุกกรณีการเป็นตัวแทน ASCII-art ของดาวจะปรากฏเป็นรูปสามเหลี่ยมสองรูปที่ซ้อนทับกันดังที่แสดงในตัวอย่างต่อไปนี้ parametrics รูปภาพและตารางข้อมูลต่อไปนี้อธิบายคุณสมบัติสำหรับเจ็ดขนาดแรกของดาว แต่ละพารามิเตอร์เติบโตในการก้าวหน้าเลขคณิตเป็นยังไม่มีข้อความยังไม่มีข้อความNเพิ่มขึ้นยกเว้นยังไม่มีข้อความ= 1ยังไม่มีข้อความ=1N=1จะแตกต่างกัน ตัวอย่าง สำหรับอินพุต 1 (ตัวพิมพ์เล็ก) ผลลัพธ์ของโปรแกรมควรเป็นดังนี้: * ***** ***** * อินพุต 2: * *** ********* ******* ********* *** * (3) * *** ***** *************** ************* *********** ************* *************** ***** *** * (5) * *** ***** ******* …

16
ฉันมีแฝดที่มีเศษเหลือเหรอ?
เรากำหนดเป็นรายการของที่เหลือของการแบ่งยุคลิดของโดย , 3 , 5และ7RnRnR_nnnn222333555777 ได้รับจำนวนเต็มn≥0n≥0n\ge0คุณต้องคิดออกถ้ามีจำนวนเต็ม0<k<2100<k<21000ซึ่งRn+kRn+kR_{n+k}คือการเปลี่ยนแปลงของR48R48R_{48}คือk=210k=210k=210 (นำไปสู่R258=(0,0,3,6)R258=(0,0,3,6)R_{258}=(0,0,3,6)เช่นกัน) กฎระเบียบ คุณอาจส่งออกค่าความจริงถ้าkkkมีอยู่และค่าที่เป็นเท็จเป็นอย่างอื่นหรือสองค่าที่แตกต่างและสอดคล้องกันที่คุณเลือก นี่คือรหัสกอล์ฟ เปรย คุณจำเป็นต้องคำนวณkkkจริง ๆหรือไม่? อาจจะ หรืออาจจะไม่ กรณีทดสอบ ค่าบางค่าของnnnซึ่งkkkมีอยู่: 3, 4, 5, 8, 30, 100, 200, 2019 ค่าบางค่าของnnnซึ่งkkkไม่มีอยู่: 0, 1, 2, 13, 19, 48, 210, 1999

20
ฉันอยู่ในซับเน็ตของคุณเล่นกอล์ฟรหัสของคุณ
ท้าทาย รับ IPv4 addressในสัญกรณ์ประสี่เหลี่ยมและ IPv4 subnetในรูปแบบ CIDR , ตรวจสอบว่าอยู่ในaddress subnetการส่งออกมีมูลค่าที่แตกต่างกันและสอดคล้องกันถ้ามันอยู่ในและค่าที่แตกต่างกันและสอดคล้องแยกต่างหากถ้ามันไม่ได้อยู่ในsubnet subnetค่าเอาต์พุตไม่จำเป็นต้องเป็นความจริง / เท็จในภาษาของคุณ ไพรเมอร์ย่อของ subnet สัญกรณ์ CIDR ที่อยู่เครือข่าย IPv4 มีความยาว 32 บิตแบ่งออกเป็นสี่กลุ่ม 8 บิตเพื่อความสะดวกในการอ่าน สัญกรณ์ซับเน็ต CIDR เป็นรูปแบบของจำนวนบิตที่ระบุเริ่มต้นซ้ายสุด ตัวอย่างเช่นสำหรับ/24ซับเน็ตหมายความว่าแอดเดรส 8 บิตที่ถูกต้องที่สุดมีอยู่ในซับเน็ตนั้น ดังนั้นสองแอดเดรสที่ถูกคั่นด้วยอย่างมาก255และมี subnet mask เดียวกันอยู่ใน subnet เดียวกัน โปรดทราบว่า CIDR ที่ถูกต้องจะมีการตั้งค่าโฮสต์บิต (ด้านขวามือ) ทั้งหมด (ศูนย์) xxxxxxxx xxxxxxxx xxxxxxxx 00000000 ^--- subnet mask ---^ …

19
ใหม่ # 4 คำสั่ง: โลก
บทนำ(อาจถูกละเว้น) การใส่ตัวเลขบวกทั้งหมดตามลำดับปกติ (1, 2, 3, ... ) นั้นน่าเบื่อนิดหน่อยใช่ไหม? ดังนั้นนี่คือชุดของความท้าทายรอบพีชคณิต (reshuffelings) ของจำนวนบวกทั้งหมด นี่คือความท้าทายที่สี่ในชุดนี้ (เชื่อมโยงไปครั้งแรก , ครั้งที่สองและสามความท้าทาย) ในความท้าทายนี้เราจะสำรวจไม่ได้หนึ่งในการเปลี่ยนแปลงของจำนวนธรรมชาติ แต่ทั้งโลกของพีชคณิต! ในปี 2000 คลาร์ก Kimberlingถูกวางปัญหาใน 26 วันปัญหาของปม Mathematicorum , วารสารวิทยาศาสตร์ของคณิตศาสตร์ที่เผยแพร่โดยสมาคมคณิตศาสตร์แคนาดา ปัญหาคือ: Sequence a=⎧⎩⎨⎪⎪a1=1an=⌊an−12⌋ if ⌊an−12⌋∉{0,a1,...,an−1}an=3an−1 otherwiseSequence a={a1=1an=⌊an−12⌋ if ⌊an−12⌋∉{0,a1,...,an−1}an=3an-1 มิฉะนั้น\text{Sequence }a = \begin{cases} a_1 = 1\\ a_n = \lfloor \frac{a_{n-1}}{2} \rfloor\text{ if }\lfloor \frac{a_{n-1}}{2} …

4
เราได้อะไร
แรงบันดาลใจจากและในความทรงจำของอัจฉริยะที่รักของเรา ฉีก เขาคิดค้นและนำไปใช้dfns - บทประพันธ์ของเขาและเรื่องของความท้าทาย สำหรับความสนใจ: ล่าสุดเอกสาร dfns เต็มรูปแบบและวิดีโอที่มีจอห์น งาน ให้รหัสต้นฉบับของ ASCII ให้ตอบคำถามสี่ข้อต่อไปนี้ Dyadic dop Monadic Dop DFN อื่น ๆ คุณอาจส่งคืนค่าที่สอดคล้องกันสี่ค่า แต่โปรดระบุการจับคู่ของคุณหากไม่ชัดเจน รายละเอียด คุณอาจจะคิดว่ารหัสที่มามักจะเริ่มต้นด้วยการเปิดวงเล็บปีกกาและลงท้ายด้วยวงเล็บปีกกาปิด{} วงเล็บปีกกาแบบวนซ้ำสามารถเกิดขึ้นได้ (เช่น{{{}}}) แต่หมวดที่ 1-3 ไม่สามารถมีความลึกของการซ้อนรั้งต่ำกว่า 1 (เช่น{}{}"อื่น ๆ ") และวงเล็บปีกกาทั้งหมดต้องมีความสมดุล (เช่น{{}"อื่น ๆ ") อักขระในบริบทต่อไปนี้บนบรรทัดจะถูกละเว้น: ทางด้านขวาของ#(ความคิดเห็น):significant#ignored ล้อมรอบในราคาเดียว'... '(เช่นในสตริง): significant'ignored'significant(นี้นำไปใช้#มากเกินไป: '#'significant) ทางด้านขวาของ'เครื่องหมายคำพูดที่ไม่ได้จับคู่ (เครื่องหมายคำพูดจับคู่จากด้านซ้าย):significant'ignored ในระดับปีกกาหนึ่ง (เช่นไม่รวมวงเล็บปีกกา): Dyadic dops มีวลีที่ไม่หยุดชะงัก …

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

10
การเรียงลำดับฟองสองมิติ
การเรียงลำดับไม่สมเหตุสมผลสำหรับอาร์เรย์ 2 มิติ ... หรือไม่ งานของคุณคือการใช้กริดอินพุตและใช้อัลกอริธึมคล้ายการเรียงลำดับกับฟองจนกว่าค่าทั้งหมดในกริดจะไม่ลดลงจากซ้ายไปขวาและบนลงล่างตลอดทุกแถวและคอลัมน์ อัลกอริทึมทำงานดังต่อไปนี้: แต่ละรอบจะไปทีละแถวจากบนลงล่างเปรียบเทียบ / สลับแต่ละเซลล์ด้วยขวาและข้างล่างเพื่อนบ้าน หากเซลล์มีมากกว่าหนึ่งในสิทธิ์และต่ำกว่าเพื่อนบ้านให้สลับกับเซลล์ที่มีมากกว่านั้น หากเซลล์มีขนาดใหญ่กว่าทั้งด้านขวาและด้านล่างให้สลับกับเพื่อนบ้านที่เล็กกว่า หากเซลล์มีขนาดใหญ่กว่าทั้งด้านขวาและด้านล่างของเพื่อนบ้านซึ่งมีค่าเท่ากันให้สลับกับเพื่อนบ้านด้านล่าง หากเซลล์ไม่ใหญ่กว่าทั้งด้านขวาและด้านล่างเพื่อนบ้านไม่ทำอะไรเลย ทำต่อไปจนกว่าจะไม่มีการแลกเปลี่ยน นี่จะเป็นเมื่อทุกแถวและคอลัมน์อยู่ในลำดับจากซ้ายไปขวาและบนลงล่าง ตัวอย่าง 4 2 1 3 3 5 7 2 1 แถวแรกของบัตรผ่านจะสลับ 4 และ 2 จากนั้น 4 กับ 1 2 1 4 3 3 5 7 2 1 เมื่อเราได้ 3 ตรงกลางมันจะถูกสลับกับ 2 ด้านล่าง 2 1 …
17 code-golf  grid 

26
กำลังคำนวณสล็อตทั้งหมด
ให้รายการของงานที่ต้องทำตามลำดับโดยแต่ละช่องจะทำจะต้องใช้เวลานานเท่าใดในการดำเนินการทั้งหมดหากหลังจากทำงานแล้วงานเดียวกันจะไม่สามารถทำได้ในสองช่องถัดไป )? อย่างไรก็ตามสามารถกำหนดงานที่แตกต่างได้ในช่องการระบายความร้อนนี้ ตัวอย่างเช่น, [9,10,9,8] => output: 5 [9 10 _ 9 8]เพราะงานจะได้รับการจัดสรร 1. ก่อนอื่น 9 ต้องการจุดระบายความร้อนสองจุด _ _ 9 _ _ดังนั้นเราจึงเริ่มต้นด้วย 2. งานต่อไป 10 แตกต่างจากงานก่อนหน้า 9 ดังนั้นเราสามารถจัดสรรหนึ่งใน _ _ 9 10 _จากนั้นเราก็จะมี 3. ประการที่สามไม่สามารถจัดสรร 9 ในขณะนี้เนื่องจากงานแรก 9 เป็นงานเดียวกันและต้องใช้เวลาในการทำให้เย็นลง 9 10 _ 9. 4. ล่าสุด 8 ไม่เหมือนกับงานสองงานก่อนหน้านี้ดังนั้นจึงสามารถจัดสรรได้หลังจาก 9 และเนื่องจากนี่เป็นงานสุดท้ายจึงไม่ต้องใช้เวลาในการระบายความร้อน รายการสุดท้ายคือ9 …

14
มองเห็นเส้นทแยงมุมทั้งหมด (ต่อต้าน) ด้วยค่าซ้ำ
ท้าทาย: รับอินพุตเมทริกซ์กำหนดจำนวนของเส้นทแยงมุมและต่อต้านเส้นทแยงมุมด้วยตัวเลขซ้ำ ดังนั้นถ้าเรามีเมทริกซ์ดังนี้: [[aa,ab,ac,ad,ae,af], [ba,bb,bc,bd,be,bf], [ca,cb,cc,cd,ce,cf], [da,db,dc,dd,de,df]] diagonals และ anti-diagonals ทั้งหมดจะเป็น: [[aa],[ab,ba],[ac,bb,ca],[ad,bc,cb,da],[ae,bd,cc,db],[af,be,cd,dc],[bf,ce,dd],[cf,de],[df], [af],[ae,bf],[ad,be,cf],[ac,bd,ce,df],[ab,bc,cd,de],[aa,bb,cc,dd],[ba,cb,dc],[ca,db],[da]] ตัวอย่าง: [[1,2,1,2,1,2], [1,2,3,4,5,6], [6,5,4,3,2,1], [2,1,2,1,2,1]] diagonals และ anti-diagonals ทั้งหมดจะเป็น: [[1],[2,1],[1,2,6],[2,3,5,2],[1,4,4,1],[2,5,3,2],[6,2,1],[1,2],[1], [2],[1,6],[2,5,1],[1,4,2,1],[2,3,3,2],[1,2,4,1],[1,5,2],[6,1],[2]] การลบ diagonals และ anti-diagonals ทั้งหมดที่มีหมายเลขเฉพาะเท่านั้น: [[2,3,5,2],[1,4,4,1],[2,5,3,2],[1,4,2,1],[2,3,3,2],[1,2,4,1]] ดังนั้นผลลัพธ์คือจำนวน diagonals และ anti-diagonals ที่มีตัวเลขซ้ำกัน: 6 กฏท้าทาย: หากเมทริกซ์ใส่เป็นที่ว่างเปล่ามีเพียง 1 0หมายเลขหรือมีหมายเลขที่ไม่ซ้ำกันเพียงข้ามเมทริกซ์ทั้งการส่งออกอยู่เสมอ ข้อมูลเข้ารับประกันว่าจะมีเฉพาะตัวเลขบวก[1,9](เว้นแต่จะเว้นว่างไว้ทั้งหมด) เมทริกซ์จะเป็นรูปสี่เหลี่ยมผืนผ้าเสมอ (เช่นแถวทั้งหมดมีความยาวเท่ากัน) I / O ยืดหยุ่นได้ อินพุตสามารถนำมาเป็นรายการของจำนวนเต็มหรืออาร์เรย์ของจำนวนเต็ม 2D หรือเมทริกซ์วัตถุเป็นสตริง …

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