คำถามติดแท็ก apl

ความท้าทายนี้เกี่ยวข้องกับภาษา APL โปรดทราบว่าความท้าทายที่ต้องการให้คำตอบเป็นภาษาใดภาษาหนึ่งมักไม่สนับสนุน

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

9
เคล็ดลับสำหรับการเล่นกอล์ฟใน APL
ฉันเพิ่งเริ่มการแข่งขันกอล์ฟรหัสหนึ่งเมื่อเร็ว ๆ นี้และดูเหมือนว่าผู้ชนะคือ GolfScript (แปลกใจแปลกใจ!) สิ่งที่น่าสนใจคือมีคู่แข่งที่แข็งแกร่งมากคนหนึ่งที่มีโอกาสชนะการแข่งขัน GolfScript ชื่อของมันคือ APL ฉันเห็นคำตอบมากมายที่เขียนใน APL ที่นี่ ดูเหมือนว่าภาษานี้จะค่อนข้างมีประสิทธิภาพสำหรับการเล่นรหัสดังนั้นฉันตัดสินใจที่จะถามเคล็ดลับการเล่นกอล์ฟรหัสที่คุณรู้สำหรับโปรแกรม APL โพสต์ตัวอย่างโค้ดได้ฟรี ปกติแล้วมันน่าสนใจมากที่จะเห็นภาษาที่ใช้งานอยู่
28 code-golf  tips  apl 

11
เกม Dyalog APL ปี 2559 อย่างเป็นทางการ
หากคุณคิดว่านี่อาจจะสนุก แต่การทำงานมากเกินไปพิจารณาเข้าร่วมในการนี้ความท้าทายที่มีขนาดเล็กมาก บิตของสนุก (และอาจจะแห้ว!) 2016 ... Dyalog เรื่อง "ปริศนาแห่งปี" สนุก! วัตถุประสงค์ ค้นหานิพจน์ Dyalog APL ( ดาวน์โหลด ) (ภาษาอื่น ๆ ที่ได้รับอนุญาตดูสิทธิ์ด้านล่าง) ที่เกี่ยวข้องกับตัวเลข 2 0 1 6 ทุกประการเพื่อที่จะเท่ากับตัวเลข 0 ถึง 100 ตัวอย่างเช่น: 20=16 ×2016 2⌊016 2+0+1*6 ... จุดมุ่งหมายคือการใช้อักขระน้อยที่สุดในแต่ละนิพจน์ (จำนวนอักขระขั้นต่ำสำหรับนิพจน์คือ 5 - ตัวเลขสี่หลัก 2 0 1 6 และฟังก์ชัน / ตัวดำเนินการดั้งเดิม) กฎระเบียบ แต่ละนิพจน์ต้องมีตัวเลข 2 …

28
ทำเสื้อคลุมคำง่ายๆ
(หมายเหตุ: นี่คือคำถามรหัสกอล์ฟครั้งแรกของฉัน แต่เท่าที่ฉันสามารถบอกได้ไม่มีใครทำอย่างนี้ดังนั้นฉันควรจะดี) งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ใช้ในสตริงsและจำนวนเต็มnและส่งคืนหรือส่งออกข้อความที่ห่อเป็นหลายบรรทัด แต่ละคำต้องอยู่ในบรรทัดทั้งหมด กล่าวคือไม่มีคำแยกกลาง แต่ละบรรทัดต้องมีความยาวไม่เกินnอักขระและคุณต้องใส่คำให้มากที่สุดเท่าที่จะทำได้ในแต่ละบรรทัด ตัวอย่าง: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

7
เอาหน้านิ่วคิ้วและหมุนไปรอบ ๆ
การเฉลิมฉลองหลาย ๆ ใบหน้าของ APL กำหนดสตริงในคอลัมน์ 1 หรือ 2 ของตารางด้านล่างให้คืนค่าเพื่อนบ้านของสตริงไปทางขวา กล่าวอีกนัยหนึ่งหากได้รับสตริงในคอลัมน์ 1 จากนั้นส่งคืนสตริงของคอลัมน์ 2 บนแถวนั้นและหากกำหนดสตริงในคอลัมน์ 2 ให้ส่งคืนสตริงของคอลัมน์ 3 ในแถวนั้น codepoints (นอกเหนือจาก:รายการ) อยู่ทางขวาสุด คอลัมน์ 1 คอลัมน์คอลัมน์ 2 3 :⊢ →การ ⍡ →การ ⊣: U + 22a2 U + 2361 U + 22a3 :▷ →การ ⍢ →การ ◁: U + 25b7 U + …

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

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

7
ความเสมอภาคผันผวน
เรามีวัตถุที่สั่นระหว่างจุดสองจุดจำนวนเต็ม[l, r]ที่ความเร็วของหนึ่งหน่วยต่อหน่วยเวลาที่เริ่มต้นที่เกี่ยวกับl คุณอาจจะสมมติt=0 l < rตัวอย่างเช่นถ้าวัตถุแกว่งไป[3, 6]มาเราจะได้: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 ฯลฯ แต่วัตถุสั่นอย่างต่อเนื่องดังนั้นเราจึงยังมีและt=0.5 -> 3.5t=3.7 -> 5.3 เมื่อให้วัตถุสองชนิดสั่นระหว่างกัน[l1, r1]ให้[l2, r2]กำหนดว่ามีเวลาใดtที่วัตถุทั้งสองแบ่งปันตำแหน่งเดียวกันหรือไม่ คุณใช้เวลาl1, r1, l2, r2ในรูปแบบที่สะดวกและส่งออกค่าจริง / เท็จ อินพุตที่แท้จริง: [[3, 6], [3, …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

5
การผันคำกริยาในชีวิตจริง
ในส่วนขยาย Dyalog APL ของ @ Adámตัวดำเนินการ⍢(ใต้) หมายถึงการรวมกัน: ใช้หนึ่งฟังก์ชันจากนั้นเป็นฟังก์ชันที่สองจากนั้นจึงกลับด้านแรก มันสนุกที่จะคิดเกี่ยวกับการกระทำในชีวิตจริงในแง่ของการผันคำกริยา: ปัญหาถูกเปลี่ยนโดย g เป็นโดเมนอื่นที่แก้ไขได้อย่างง่ายดายโดย f แล้วเปลี่ยนกลับเป็นโดเมนดั้งเดิม ตัวอย่างจากชีวิตจริงคือ“ ภายใต้ยาชา” apply anesthetics perform surgery wake up from anesthetics ท้าทาย ค่าผกผันของบรรทัดgคือ "un" ที่เติมไว้gและในทางกลับกัน กำหนดเส้นใด ๆ ระหว่างsและผกผันของตนในการสั่งซื้อที่เป็น s"ภายใต้" สำหรับแต่ละบรรทัดfในอินพุตตามลำดับ: หากfและการผกผันของทั้งสองเกิดขึ้นไม่ทำอะไร หากfไม่ใช่ "ภายใต้" การดำเนินการอื่นให้พิมพ์f หากfเป็น "ใต้" ให้gพิมพ์บรรทัดf + " under " + gที่+ต่อกัน อินพุต สตริงหลายบรรทัดที่ไม่ว่างเปล่าหรือรายการสตริง ฯลฯ ประกอบด้วยช่องว่างและตัวอักษรตัวพิมพ์เล็ก …

17
แผนภูมิแท่งสิบแถว
นี่คือหลุม-1 จากฤดูใบไม้ร่วงทัวร์นาเมนต์ของ APL CodeGolf ฉันเป็นผู้เขียนปัญหาดั้งเดิมที่นั่นและอนุญาตให้โพสต์ใหม่ได้ที่นี่ รับรายการตัวเลขสร้างแผนภูมิแท่งแนวนอนของ#ตัวอักษรสำหรับจำนวนที่พอดีกับแต่ละกลุ่มที่มีขนาดเท่ากันสิบกลุ่ม ตัวอย่างเช่นถ้าข้อมูลมีค่าตั้งแต่ 0-100 ช่วงจะเป็น 0–9.9, 10–19.9, …, 90–100 (เป็นทางการ [0,10), [10,20), …, [90,100].) คุณอาจคิดว่าจะมีตัวเลขอย่างน้อยสองตัวและไม่ใช่ว่าตัวเลขทั้งหมดจะเหมือนกัน ตัวอย่าง: [1,0,0,0,0,0,0,0,0,0] ให้: ######### # [0,1,2,3,4,5,6,7,8,9] ให้: # # # # # # # # # # [0,1,2,3,4,5,6,7,8,9,10] ให้: # # # # # # # # # ## [0,1,2,3,4,5,6,7,8,9,10,11] ให้: …

1
ไขว้ Dyadic
เช่นเดียวกับสัญลักษณ์ APL ส่วนใหญ่⍉จะมีความหมายต่างกันเมื่อถูกเรียกด้วยอาร์กิวเมนต์หนึ่งตัว (transpose) เทียบกับสองข้อโต้แย้ง ความท้าทายนี้เกี่ยวข้องกับสิ่งหลังซึ่งคล้ายกับnumpy.moveaxisใน Python หรือpermuteใน MATLAB แต่มีประสิทธิภาพมากกว่า order ⍉ Aเมื่อorderมีรายการที่แตกต่าง เมื่อสมาชิกทั้งหมดของorderแตกต่างกันorder ⍉ Aเท่ากับ: numpy.moveaxis(A, tuple(range(len(A.shape)), order) ใน Python หรือ permute(A,order)ใน MATLAB อ้างจากเอกสารของหลัง: B = permute (A, order) จัดเรียงขนาดของ A ใหม่เพื่อให้อยู่ในลำดับที่ระบุโดยลำดับเวกเตอร์ อาร์เรย์ผลลัพธ์ B มีค่าเดียวกับ A แต่ลำดับของตัวห้อยที่จำเป็นในการเข้าถึงองค์ประกอบเฉพาะนั้นได้รับการจัดเรียงใหม่ตามที่ระบุโดยคำสั่ง ตัวอย่างเช่นสมมติว่าAเป็นอาเรย์ 3D B ← (2 0 1)⍉Aและให้ จากนั้น B ก็เป็นเช่นนั้นB[x0,x1,x2] = A[x2,x0,x1]สำหรับทุกคนx2,x0,x1 …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.