Questions tagged «apl»

这个挑战与APL语言有关。请注意,通常不建议要求答案使用特定语言的挑战。

30
构造身份矩阵
挑战非常简单。给定整数输入n,输出n x n单位矩阵。单位矩阵是1从左上角到右下角的s 矩阵。您将编写一个程序或函数来返回或输出您构造的身份矩阵。您的输出可能是2D数组,或者是由空格/制表符和换行符分隔的数字。 输入和输出示例 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, 0, 0], [0, 1, 0, 0, 0], …

9
APL高尔夫技巧
我最近发起了一场代码高尔夫挑战赛,看来胜利者是GolfScript(惊喜,惊喜!)。有趣的是,还有另一个非常强大的竞争对手,有机会赢得GolfScript。它的名字叫APL。我在这里看到了许多用APL编写的答案。看来这种语言对于代码打高尔夫球相当有效,因此我决定询问您对APL程序了解的任何代码打高尔夫球技巧。随时发布一些代码示例。看到实际的语言通常非常有趣。
28 code-golf  tips  apl 

11
Dyalog APL官方2016年比赛
如果您认为这可能很有趣,但是工作量过多,请考虑参加这个小得多的挑战。 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 0 1 6(按该顺序),并且不能包含其他数字。预设的常量和变量也不允许。 除了四位数2 0 1 6以外,只能使用内置符号和名称,括号/大括号,空格,高减号和小数点。结果表达式必须是确定性的(即,在重复求值时得出相同的结果)。对于非APL,也可以使用带有名称的功能/操作符;和这里一样的规则。 假定您的语言的所有默认设置。对于Dyalog APL,这意味着⎕ML和⎕IO均为1,并且⎕PP为10。 包括从0到100在内的所有数字的正确表达式的每个条目都将根据这些表达式所使用的字符数(不包括多余空格)(所有101个表达式的最小值505)进行评级。 合格 任何人都可以进入。您可以用任何语言回答,但只有APL回答会被考虑接受。如果您使用APL以外的其他语言,则可以使用代码片段,程序,函数等代替表达式,并且可以打印,将数字保留在可访问的内存位置,或者以其他方式返回结果,只要直接编写代码即可计算为所需的数字,作为您语言的任何标准数值数据类型。 截止日期 2016年11月30日。 奖品 接受您的答案 在Dyalog的2016年名人堂中永生不朽! 提交您的输入 2016年11月30日之后,我将接受最短的答案,并以您的名义将您的答案提交给Dyalog的2016年名人堂。 常问问题 是否允许J(例如37 = ⌈⍟!20J16)? 否:除了四位数字2 0 1 6之外,只能使用内置符号和名称,括号/大括号,空格,高减号和小数点。 输出为字符串可以接受吗? …

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 at iaculis mauris. Praesent a …
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列的字符串。 代码点(不是:的)在最右边列出。 塔1列2列3 :⊢ →交通 ⍡ →交通 ⊣: U +部22a2 U + 2361 U + 22A3 :▷ →交通 ⍢ →交通 ◁: U + 25b7 U + 2362 U + 25C1 :⋆ →交通 ⍣ →交通 ⋆: U + 22c6 U + 2363 U + 22c6 :∘ →交通 ⍤ →交通 ∘: …

4
清楚地加上括号的APL列车
在APL中,您可以编写默认的函数,称为trains。他们的工作方式与这一挑战无关。以下是将它们⍴作为函数进行分组的不同方法: ⍴ -> ⍴ ⍴⍴ -> ⍴⍴ ⍴⍴⍴ -> ⍴⍴⍴ ⍴⍴⍴⍴ -> ⍴(⍴⍴⍴) ⍴⍴⍴⍴⍴ -> ⍴⍴(⍴⍴⍴) ⍴⍴⍴⍴⍴⍴ -> ⍴(⍴⍴(⍴⍴⍴)) ... 顺序保持不变。程序是,只要严格存在3个以上的功能,则将后3个功能分组为一个功能。如果遇到嵌套火车,我们先将其括起来,然后再继续。这是适用于的过程⍴⍴⍴⍴⍴⍴: Step 0: ⍴⍴⍴⍴⍴⍴ There are strictly more than 3 functions, repeat. Step 1: ⍴⍴⍴(⍴⍴⍴) There are strictly more than 3 functions, repeat. Step 2: ⍴(⍴⍴(⍴⍴⍴)) There are 3 or …

4
我们有什么?
受到我们心爱的天才的启发和记忆, RIP 他发明并实施了dfns-他的巨著和挑战主题。 对于感兴趣的人:John的最新完整dfns文档和视频。 任务 给定ASCII源代码,请回答它属于以下四个类别中的哪个类别: 二进位掺杂 一元掺杂 Dfn 其他 您可以返回任何四个一致的值,但是如果不明显,请说明您的映射。 细节 您可以假设源代码始终以大括号开头,以大括号{结尾}。 可能会出现递归嵌套的括号(例如{{{}}}),但是类别1-3永远不能使括号嵌套深度低于1({}{}“ Other”也是),并且所有括号都必须平衡({{}“ Other”也是如此)。 一行中以下上下文中的字符将被忽略: 在#(评论)的右边:significant#ignored 在单引号'... '(即一个字符串): significant'ignored'significant(这适用于#太:'#'significant) 在未配对报价单的右边'(左侧配对报价单):significant'ignored 在花括号级别1中(即,不包括嵌套括号): 二进位掺杂包含不间断的短语 ww 单调掺杂不包含ww,但包含aa Dfns既不包含ww也不包含aa 测试用例 二进位掺杂 {ww} { www } { ''ww' } {aa ww} {'#''#'ww?aa} 单声道掺杂 {aa} {aaaa} {aa{ww}'ww'} {w#w' aa' } {aaw*w} {w'\'aa\''} Dfns {} …

7
振荡平等
我们的对象在两个整数点之间[l, r]以每时间单位一个单位的速度从lon 开始振荡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.5和t=3.7 -> 5.3。 由于两个物体之间振荡[l1, r1],[l2, r2],确定是否存在过一段时间t,使得这两个对象共享相同的位置。您可以采用l1, r1, l2, r2任何方便的格式,并输出任何真实/错误值。 真实的输入: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
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
现实生活中的共轭
在@Adám的 Dyalog APL扩展中,⍢(下)运算符表示共轭:应用一个函数,然后应用第二个函数,然后应用第一个函数的反函数。从共轭的角度考虑现实生活中的动作很有趣: 一个问题由g转换为另一个域,在该域​​中更容易由f解决,然后又转换回原始域。现实生活中的一个例子是“麻醉下”: apply anesthetics perform surgery wake up from anesthetics 挑战 线的g反面以“ un”开头g,反之亦然。按此s顺序,将其之间的任意一行及其反行定义为“在”之下s。每行f输入中的,依次为: 如果 f和都发生逆,则不执行任何操作 如果 f不是“没有”任何其他动作,请打印f 如果f在“一行”下g,则f + " under " + g在+串联处打印。 输入值 非空的多行字符串或字符串列表等,由空格和小写字母组成(您可以改用大写字母)。恰好一行将以“ un”开头;这将是其他一些线的反面。没有行将为空。 输出量 以您输入时使用的相同格式或标准I / O允许的格式输出。 测试用例: Input: apply anesthetics perform surgery unapply anesthetics Output: perform surgery under apply anesthetics Input: unite asia …

17
十行条形图
这是APL CodeGolf 秋季比赛的 Hole-1 。我是该问题的原始作者,因此可以在此处重新发布。 给定一个数字列表,请生成一个水平的#字符条形图,以显示十个相等大小的组中每个组可容纳多少个数字。例如,如果数据的范围是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] 给出: ## # # # # # # # # ## [0,-0.5,-1,-1.5,-2,-2.5,-3,-3.5,-4,-4.5,0.5,0,-0.5,-1,-1.5,-2,-2.5,-3,-3.5,-4,1,0.5,0,-0.5,-1,-1.5,-2,-2.5,-3,-3.5,1.5,1,0.5,0,-0.5,-1,-1.5,-2,-2.5,-3,2,1.5,1,0.5,0,-0.5,-1,-1.5,-2,-2.5,2.5,2,1.5,1,0.5,0,-0.5,-1,-1.5,-2,3,2.5,2,1.5,1,0.5,0,-0.5,-1,-1.5,3.5,3,2.5,2,1.5,1,0.5,0,-0.5,-1,4,3.5,3,2.5,2,1.5,1,0.5,0,-0.5,4.5,4,3.5,3,2.5,2,1.5,1,0.5,0] 给出: ### …

1
二进位转置
与大多数APL符号一样,⍉当用一个参数(移调)和两个参数(二进位转置/重排维)调用时,含义不同。这个挑战与后者有关,后者的行为类似于numpy.moveaxisPython或permuteMATLAB,但功能更强大。 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 order ⍉ A什么时候order重复输入 当order有重复的条目时,我们取数组的对角切片。例如,让A为2x3x4数组。B ← (0 0 1)⍉A沿着对角线切片A来制作B这样的图像B[x0,x1] = A[x0,x0,x1]。请注意,这B是一个2x4数组:如果它是3x4,则需要设置B[2, x1] = A[2, 2, x1]超出的范围A。一般情况下k的第N维B将所有的最小A.shape[i]这样order[i] = k。 例 考虑order⍉A其中order = [2, 1, 0]A为3x4x5 的二进位转置 A = [[[ …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.