Questions tagged «permutations»

排列是某些对象列表的特定顺序。用置换标记的问题通常涉及查找或生成置换,包括文本的字谜。

30
可靠的分选
给定一个包含至少3个不同条目的正整数列表,请输出该列表的排列,该排列未按升序或降序排序。 例子 1,2,3 -> 2,1,3 or 3,1,2 or 1,3,2 or 2,3,1 1,2,3,3 -> 2,1,3,3 or 3,1,2,3 or 1,3,2,3 etc.. 感谢@Arnauld和@NoOneIsHere的标题!

16
每日随机高尔夫#8:随机播放无数人
关于系列 首先,您可以像对待其他任何代码高尔夫挑战赛一样对待它,并回答它而不必担心系列赛。但是,在所有挑战中都有排行榜。您可以在第一篇文章中找到排行榜以及有关该系列的更多信息。 漏洞8:随机播放一个无限列表 您应该编写一个函数或程序,该函数或程序将一个无限列表作为输入并返回该列表的改组版本。 关于无限I / O 您可以通过多种方法来输入和产生此挑战的输出: 您可以采用正整数列表或其字符串表示形式,也可以采用字符串或可打印ASCII字符列表(0x20至0x7E,包括0x20至0x7E)。输出格式必须与输入格式匹配。从现在开始,无论您选择哪个选项,我都将数据称为“列表”。 您可以从无限标准输入流中读取列表,并将输出连续写入无限标准输出流中。解决方案不应依赖任何特定值或值序列来确保输出流被定期写入和刷新(例如5,输入列表中只有a时,您不能仅写入输出)。当然,如果您读取列表的字符串表示形式,则可以等到遇到列表分隔符后再试。 在支持它们的语言中,您可以编写一个函数,该函数接受并返回一个惰性无限列表或字​​符串。 在支持它们的语言中,您可以实现一个无限生成器,该生成器将另一个生成器作为输入。 另外,您可以编写一个不带参数的函数,并在每次调用时返回一个输出值。在这种情况下,可以假定已定义一个不带任何参数的函数,并且每次调用时都返回下一个输入值。您可以自由选择该函数的名称。 您可能会假设您的程序可以永远运行并且可以使用无限内存。(可以通过有限的内存来解决此问题,但这意味着您可以泄漏内存。) 关于随机性 对于在无穷大输入的位置i上读取的任何值v,它必须有一个正概率使其最终在无穷大输出的位置i-9到i + 9中(除非该位置为负) )。对于不同的输出位置甚至不同的输入位置,这些概率不必相同。如果您的解决方案还可以将值改组到更远的其他位置,那就很好。 因此,您的解决方案不必将第一个值拖曳到列表后面很远的地方,也不需要将最后一个值拖曳到第一个位置,尽管这样做可以,只要所有位置都离列表9步即可。输入是可能的。 例如,如果您将以下字符串用作输入,则___表示X必须能够在输出中结束的所有位置: ___________________ abcdefghijklmnopqrstuvwxyzXabcdefghijklmnopqrstuvwxyz... 如果您的语言缺少内置的随机数生成器,或者您不想使用它,则可以使用其他种子值作为输入,并使用种子实现自己适合的RNG。此页面可能对此有所帮助。 无论您的解决方案使用哪种实际分布,它都必须几乎肯定在有限(但任意)的时间后产生下一个值。 请简要说明您的实现如何满足这些要求。 计分 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 排行榜 该系列的第一篇文章将产生一个排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头每个答案: # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes (目前未显示该语言,但是该代码段确实需要并对其进行解析,并且将来我可能会添加一个语言排行榜。)

10
自然日志上的蚂蚁
这是一个很好的初学者挑战,也是一个很好的时间杀手。 我只说了-自然-对数,因为标题太短了,这与对数无关。 给定2个变量: 蚂蚁数量n。 日志的宽度w。 输出日志宽度w与n蚁(实施例示出w=3,n=6) | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ /o\ /o\ | | ^ ^ ^ | | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ /o\ /o\ | | ^ ^ ^ | …

27
列出n的所有有序分区
挑战是列出给定正整数的所有有序分区(组成(组合))n。这些数字从名单1到n其总和n。例如,给定input n = 4,结果应为: 4 1,3 3,1 2,2 2,1,1 1,2,1 1,1,2 1,1,1,1 结果可以采用任何顺序,但是必须包含每个有序分区一次。这意味着n = 4,[1, 1, 2],[1, 2, 1]而且[2, 1, 1]必须是结果的一部分。 这是我自己的实现此目的的JavaScript代码: function range(n) { for (var range = [], i = 0; i < n; range.push(++i)); return range; } function composition(n) { return n < 1 ? [[]] : …

12
排列的循环数
考虑整数... ... 的置换,例如1nn = 6: [5,2,4,3,6,1] 如果将置换视为从[1,2,3,4,5,6]到的映射[5,2,4,3,6,1],则置换可以分解为不相交的周期。循环是相互映射的元素的子集。例如,1被映射到5,被映射到6,被映射回1。所以一个周期是[1,5,6]。其他周期是[2]和[3,4]。因此,此置换的周期数为3。 通常,排列的周期是唯一的(按顺序排列),大小排列的周期数n从1到变化n。 挑战 给定非空排列,输出其循环数。 输入是由形成的阵列n的整数1,2,..., n,其中n > 0。每个整数仅出现一次。如上例所示,它们出现的顺序定义了排列。 可以使用列表,在数字之间使用分隔符的字符串,每个数字的单独输入或任何合理的方法来代替数组。 对于大小的排列n,而不是基于1的整数集1,......,n你可以一直使用基于0套0,... n-1。如果是这样,请在您的答案中指出。 该代码应努力n达到20在合理的时间,说不到一分钟。 代码高尔夫。允许所有内置。 测试用例 假定基于1的数组输入。 [1] -> 1 [3,2,1] -> 2 [2,3,4,5,1] -> 1 [5,2,4,3,6,1] -> 3 [8,6,4,5,2,1,7,3] -> 2 [4,5,11,12,7,1,3,9,10,6,8,2] -> 1 [4,2,5,11,12,7,1,3,9,10,6,8] -> 5 [5,8,6,18,16,9,14,10,11,12,4,20,15,19,2,17,1,13,7,3] -> 3 [14,5,17,15,10,18,1,3,4,13,11,16,2,12,9,7,20,6,19,8] -> 7 有关 这个相关的挑战要求排列的实际周期,而不是数量。仅要求周期数可以导致产生实际周期的较短算法。

27
重新排列顺序
介绍 让我们观察以下序列(非负整数): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ... 例如,让我们采用前三个数字。这些是0, 1, 2。此序列中使用的数字可以以六种不同的方式排序: 012 120 021 201 102 210 因此,假设F(3)= 6。另一个示例是F(12)。其中包含数字: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 或串联的版本: 01234567891011 为了找到重新排列此方法的方法,我们首先需要查看此字符串的长度。该字符串的长度为14。因此,我们计算出14!。但是,例如,那些人可以交换位置而不会破坏最终的琴弦。有2个零,所以有2个!在不破坏顺序的情况下消除零的方法。也有4个,所以有4个!切换方式。我们将总数除以这两个数字: 这个有14个!/(4!×2!) = 1816214400排列字符串的方式01234567891011。因此我们可以得出F(12)= 1816214400的结论。 任务 给定N,输出F(N)。对于那些不需要介绍的人。为了计算F(N),我们首先将前N个非负整数连接起来(例如,对于N …

24
ogl-edocf挑战
输入项 一个非空的字符串,由范围内的ASCII字符组成。[ 32..126 ][32..126][32..126] 输出量 通过对输入字符串进行连续旋转来获得输出。 对于[a-zA-Z]输入字符串中的每个字母(),从左到右: 如果字母是大写字母,请将其前面的所有字符向左旋转一个位置 如果字母是小写字母,请将其前面的所有字符向右旋转一个位置 例 输入:“ Cb-Ad” 第一个字母是“ C ”。我们应该向左旋转,但是这个“ C ” 之前没有字符。因此,没有任何旋转。 下一个字母是“ b ”。我们向右旋转“ C ”。因为它是单个字符,所以它保持不变。 字符“ - ”不会触发任何旋转,因为它不是字母。 下一个字母是“ A ”。我们轮流“ CB- ”到左边,这给“ 公元前广告” 第四个也是最后一个字母是“ d ”。我们向右旋转“ b-CA ”,即为“ Ab-C d” 因此,预期输出为“ Ab-Cd ”。 规则 您可以将输入作为字符串或字符数组进行输入-根据您的语言,输入内容可能相同也可能不同。 您也可以输出字符数组而不是字符串。 这是ogl-edocf 代码高尔夫 测试用例 "cbad" -> …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

3
我不是
注意:这个问题的标题应该是“ Loop It”,但是由于标题必须至少包含15个字符,因此会有一些不可见的空格。这样便可以搜索挑战。 挑战 给定平面中唯一积分点的有限列表,找到一个多边形,该多边形的顶点恰好是这些点的,不会自相交的。 细节 作为输入,您可以采用两个带有x和y坐标的列表或成对的列表。 输入列表至少包含3个点。 请注意,这意味着永远不会有唯一的解决方案。 可以假定输入列表不是共线的(点不能包含在一行中),这意味着实际上存在这样一个非自相交的多边形。 每个顶点的角度是任意的,包括180°。 对于长度的输入n,输出应该是一个排列(p1,p2,p3,...,pn)的(1,2,3,...,n),其中的k第条目pk表示p在输入列表个点。这意味着我们有一条线从p1to p2,一条线从p2to p3等等,以及一条线从pnto p1。(您也可以使用从0开始的索引。)或者,您可以按照正确的顺序输出输入点的列表。 例子 假设我们有要点[(0,0),(0,1),(1,0),(-1,0),(0,-1)],我们想代表以下路径: 这意味着我们将输出列表 [5,1,4,2,3] 这里有更多建议可以尝试(我建议查看相应的地块以验证目标。) Triangle [(0,0),(0,1),(1,0)] S-Curve [(0,0),(0,1),(0,2),(0,3),(0,4),(1,0),(2,0),(2,1),(2,2),(2,3),(2,4),(3,4),(4,0),(4,1),(4,2),(4,3),(4,4)] L-Shape [(4,0),(1,0),(3,0),(0,0),(2,0),(0,1)] Menger Sponge [(1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1),(11,1),(12,1),(13,1),(14,1),(15,1),(16,1),(17,1),(18,1),(19,1),(20,1),(21,1),(22,1),(23,1),(24,1),(25,1),(26,1),(27,1),(1,2),(3,2),(4,2),(6,2),(7,2),(9,2),(10,2),(12,2),(13,2),(15,2),(16,2),(18,2),(19,2),(21,2),(22,2),(24,2),(25,2),(27,2),(1,3),(2,3),(3,3),(4,3),(5,3),(6,3),(7,3),(8,3),(9,3),(10,3),(11,3),(12,3),(13,3),(14,3),(15,3),(16,3),(17,3),(18,3),(19,3),(20,3),(21,3),(22,3),(23,3),(24,3),(25,3),(26,3),(27,3),(1,4),(2,4),(3,4),(7,4),(8,4),(9,4),(10,4),(11,4),(12,4),(16,4),(17,4),(18,4),(19,4),(20,4),(21,4),(25,4),(26,4),(27,4),(1,5),(3,5),(7,5),(9,5),(10,5),(12,5),(16,5),(18,5),(19,5),(21,5),(25,5),(27,5),(1,6),(2,6),(3,6),(7,6),(8,6),(9,6),(10,6),(11,6),(12,6),(16,6),(17,6),(18,6),(19,6),(20,6),(21,6),(25,6),(26,6),(27,6),(1,7),(2,7),(3,7),(4,7),(5,7),(6,7),(7,7),(8,7),(9,7),(10,7),(11,7),(12,7),(13,7),(14,7),(15,7),(16,7),(17,7),(18,7),(19,7),(20,7),(21,7),(22,7),(23,7),(24,7),(25,7),(26,7),(27,7),(1,8),(3,8),(4,8),(6,8),(7,8),(9,8),(10,8),(12,8),(13,8),(15,8),(16,8),(18,8),(19,8),(21,8),(22,8),(24,8),(25,8),(27,8),(1,9),(2,9),(3,9),(4,9),(5,9),(6,9),(7,9),(8,9),(9,9),(10,9),(11,9),(12,9),(13,9),(14,9),(15,9),(16,9),(17,9),(18,9),(19,9),(20,9),(21,9),(22,9),(23,9),(24,9),(25,9),(26,9),(27,9),(1,10),(2,10),(3,10),(4,10),(5,10),(6,10),(7,10),(8,10),(9,10),(19,10),(20,10),(21,10),(22,10),(23,10),(24,10),(25,10),(26,10),(27,10),(1,11),(3,11),(4,11),(6,11),(7,11),(9,11),(19,11),(21,11),(22,11),(24,11),(25,11),(27,11),(1,12),(2,12),(3,12),(4,12),(5,12),(6,12),(7,12),(8,12),(9,12),(19,12),(20,12),(21,12),(22,12),(23,12),(24,12),(25,12),(26,12),(27,12),(1,13),(2,13),(3,13),(7,13),(8,13),(9,13),(19,13),(20,13),(21,13),(25,13),(26,13),(27,13),(1,14),(3,14),(7,14),(9,14),(19,14),(21,14),(25,14),(27,14),(1,15),(2,15),(3,15),(7,15),(8,15),(9,15),(19,15),(20,15),(21,15),(25,15),(26,15),(27,15),(1,16),(2,16),(3,16),(4,16),(5,16),(6,16),(7,16),(8,16),(9,16),(19,16),(20,16),(21,16),(22,16),(23,16),(24,16),(25,16),(26,16),(27,16),(1,17),(3,17),(4,17),(6,17),(7,17),(9,17),(19,17),(21,17),(22,17),(24,17),(25,17),(27,17),(1,18),(2,18),(3,18),(4,18),(5,18),(6,18),(7,18),(8,18),(9,18),(19,18),(20,18),(21,18),(22,18),(23,18),(24,18),(25,18),(26,18),(27,18),(1,19),(2,19),(3,19),(4,19),(5,19),(6,19),(7,19),(8,19),(9,19),(10,19),(11,19),(12,19),(13,19),(14,19),(15,19),(16,19),(17,19),(18,19),(19,19),(20,19),(21,19),(22,19),(23,19),(24,19),(25,19),(26,19),(27,19),(1,20),(3,20),(4,20),(6,20),(7,20),(9,20),(10,20),(12,20),(13,20),(15,20),(16,20),(18,20),(19,20),(21,20),(22,20),(24,20),(25,20),(27,20),(1,21),(2,21),(3,21),(4,21),(5,21),(6,21),(7,21),(8,21),(9,21),(10,21),(11,21),(12,21),(13,21),(14,21),(15,21),(16,21),(17,21),(18,21),(19,21),(20,21),(21,21),(22,21),(23,21),(24,21),(25,21),(26,21),(27,21),(1,22),(2,22),(3,22),(7,22),(8,22),(9,22),(10,22),(11,22),(12,22),(16,22),(17,22),(18,22),(19,22),(20,22),(21,22),(25,22),(26,22),(27,22),(1,23),(3,23),(7,23),(9,23),(10,23),(12,23),(16,23),(18,23),(19,23),(21,23),(25,23),(27,23),(1,24),(2,24),(3,24),(7,24),(8,24),(9,24),(10,24),(11,24),(12,24),(16,24),(17,24),(18,24),(19,24),(20,24),(21,24),(25,24),(26,24),(27,24),(1,25),(2,25),(3,25),(4,25),(5,25),(6,25),(7,25),(8,25),(9,25),(10,25),(11,25),(12,25),(13,25),(14,25),(15,25),(16,25),(17,25),(18,25),(19,25),(20,25),(21,25),(22,25),(23,25),(24,25),(25,25),(26,25),(27,25),(1,26),(3,26),(4,26),(6,26),(7,26),(9,26),(10,26),(12,26),(13,26),(15,26),(16,26),(18,26),(19,26),(21,26),(22,26),(24,26),(25,26),(27,26),(1,27),(2,27),(3,27),(4,27),(5,27),(6,27),(7,27),(8,27),(9,27),(10,27),(11,27),(12,27),(13,27),(14,27),(15,27),(16,27),(17,27),(18,27),(19,27),(20,27),(21,27),(22,27),(23,27),(24,27),(25,27),(26,27),(27,27)]

13
哈夫尼亚人Codegolf
挑战是为矩阵的Hafnian写codegolf 。对称矩阵的2nHafnian 定义为:2nA 下面就2N代表了一组整数的所有排列的,从1到2n,那就是[1, 2n]。 Wikipedia链接讨论了邻接矩阵,但是您的代码应适用于任何实值对称输入矩阵。 对于那些对Hafnian应用程序感兴趣的人,mathoverflow链接讨论了更多内容。 您的代码可以随意输入,并以任何合理的格式提供输出,但是请在答案中包括一个完整的示例,其中包括有关如何向代码提供输入的明确说明。 输入矩阵始终为正方形,最大为16 x16。无需处理空白矩阵或奇数维矩阵。 参考实施 这是Xcoder先生提供的一些示例python代码。 from itertools import permutations from math import factorial def hafnian(matrix): my_sum = 0 n = len(matrix) // 2 for sigma in permutations(range(n*2)): prod = 1 for j in range(n): prod *= matrix[sigma[2*j]][sigma[2*j+1]] my_sum += prod return my_sum / …

12
给我上杆
可以说您的工作是给杆子上漆,客户要求您给杆子涂上4个红色部分和3个黄色部分。您可以很容易地做到这一点,如下所示: r y r y r y r 仅有黄色和红色条纹。现在,假设您的客户要您用2个红色部分,2个黄色部分和1个绿色部分绘制一个杆。有两种方法可以画杆子 g y r y r y g r y r y r g y r y r y g r y r y r g g r y r y r g y r y r y g r y r …

30
获取一个具有不同数字的随机n位数字,第一个不是0
我读了这个问题,并认为这将是一个不错的挑战。 任务 给一个输入0<n<10生成一个随机数 正好n位数字 第一个不是 0 所以 f(n)>10**(n-1)-1 不同的数字 获奖标准 这是代码高尔夫球,因此最短的代码获胜。 随机 我的意思是随机分布均匀。因此,从程序的角度来看,每个可能的数字都有相同的机会。如果您使用的语言具有一个奇怪的随机数生成器,则可以使用该生成器。 例 要从中随机选择的值的列表n=2是: [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

25
Quine Anagrams!(警察的线)
这是警察的话题。有关强盗的线索,请单击此处。 警察的任务 首先,用您选择的语言写一个藜。 接下来,打搅奎纳。确保做得好,因为强盗将试图对其进行解读并找到原始源代码!请注意,加扰的代码不需要工作。 在此主题上发布答案。包括语言,字节数和加扰的代码。 您的程序可能无法打印到STDERR。 这是警察提交的示例: Python,29个字节 nt _%=_r;_riinp;pr_='t _%%%_' 强盗任务 有关强盗的线索,请单击此处。 安全提交 如果发布一周后您的提交尚未被破解,则可以添加解决方案并指定它是安全的。如果您不这样做,您的提交可能仍会被破解。 计分 这是代码高尔夫球,因此安全提交且字节最少的用户将是本节的赢家。 排行榜 这是一个堆栈片段,用于生成此挑战的排行榜。为了使其正确显示,请按以下所示格式化您的提交: # Language Name, N bytes ... other stuff ... 如果您提交的内容遭到破解,请采用以下格式: # Language Name, N bytes, [Cracked!](link) ... other stuff ... 如果您提交的内容安全,则格式如下: # Language Name, N bytes, Safe! ... other stuff ... …

5
用掉期和持续时间排序列表
考虑一个从1到N的整数的随机列表。您只想使用以下操作对其进行排序: 交换第一个和最后一个列表元素。(S) 弹出第一个元素并将其附加到列表的末尾。(P) 这总是可能的,因为任何列表都可以通过相邻元素的足够交换来排序。使用S和P可以交换任何相邻的元素,方法是调用P直到有问题的两个元素是列表中的第一和最后一个项目,然后调用S交换它们,然后再次调用P直到它们在原始索引中(​​现在已交换) )。 但是,就S和P操作的数量而言,此方法对于大多数列表而言不太可能是最佳方法。 挑战 编写一个程序或函数,将数字从1排列到N(N> 1)。它可以作为列表或字符串或任何方便的形式给出。它应该输出一个S和P序列,当从左到右应用该序列时将对排列进行排序。此序列不必最佳地短,但是最好短一些(请参阅评分)。 例 如果输入是[2, 1, 3]输出,则可能是SP因为 应用型,以[2, 1, 3]使得它[3, 1, 2], 和P应用于[3, 1, 2]使它[1, 2, 3],它被排序。 验证者 该堆栈片段可用于验证序列是否确实对列表进行了排序。该列表应带有方括号,并以逗号分隔。SP序列只是一个字符串“ S”和P“”。 <style>*{font-family:monospace}</style><script>function swap(list) {var tmp = list[0];list[0] = list[list.length - 1];list[list.length - 1] = tmp;}function pop(list) {list.push(list.shift())}function check() {var result = 'Sorted sucessfully.';var details = …

9
我看到了您的BIDMAS,并提出了BADMIS
我看到了您的BIDMAS,并提出了BADMIS 挑战 给定一组数字,它们之间有一个运算符:“ 5 + 4 * 9/3-8”,对于基本运算顺序的每个排列:[/,*,+,-],返回表达式的所有可能结果。 规则 禁止标准漏洞 输入输出 输入必须使用中缀操作进行排序,但这是最简单的(字符串或数组) 您不需要支持一元运算符(例如“ -3 * 8 / +2”) 对于隐式解析类型的语言(例如45⟶45.0),可以用浮点数代替整数 输出必须是表达式的所有可能结果,没有指定的格式或顺序 所有输入均有效(例如,无需处理“ 7/3 + *”)。这也意味着您将永远不需要除以零。 运算符都是左关联的,因此“ 20/4/2” =“(20/4)/ 2” 这是Code Golf,因此赢得最少的字节数 测试用例(附说明) “ 2 + 3 * 4” = [14,20] 2 +(3 * 4)⟶2 +(12)⟶14 (2 + 3)* 4⟶(5)* 4⟶20 “ …

8
建立这座金字塔
你的金字塔 我要您建造的金字塔完全由立方体组成。它有24层,从顶部开始的第 N 层包含以N×N正方形排列的N 2个立方体。金字塔看起来像这样: 要建造金字塔,您将需要大量的多维数据集。您将得到4900个立方体,它们以70 x 70的正方形排列,如下所示: (好的,我承认正方形的图片完全没有必要。) 由于1 2 + 2 2 + 3 2 + ... + 24 2 = 70 2,因此您拥有正确数量的立方体来构建金字塔。您所要做的就是告诉我每个多维数据集应该放在哪里。 你的任务 您应该在正方形的立方体和金字塔的立方体之间选择任意双射。(如果您的回答说出您使用的是哪种4900,那就太好了。) 然后,编写执行以下操作的函数或程序: 给定一个立方体在70 x 70平方中的位置(作为一对坐标(X,Y)), 输出其在金字塔中的位置(作为三坐标(A,B,C))。 输入和输出坐标都可以是0索引或1索引。假设索引为1,则您的输入(X,Y)将是一对1到70之间(A,B,C)的整数。A应该是从顶部开始计数的层(介于1和24之间),并且(B,C)应该是该层中该立方体的坐标(介于1和之间A)。 例如: 金字塔的顶部立方体有坐标(1,1,1)。 金字塔的底座的四个角上有坐标(24,1,1),(24,1,24),(24,24,1),和(24,24,24)。 如果决定将正方形的角放置在金字塔的角上,则在输入(70,1)时可以给出输出(24,24,1)。 您可能会假设您只会获得有效的坐标(X,Y)作为输入。正确性完全由以下规则决定:两个不同的有效输入应始终给出两个不同的有效输出。 这是代码高尔夫球:最短的代码获胜。

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.