Questions tagged «permutations»

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

12
计算Landau函数
Landau函数 (OEIS A000793)给出对称组元素的最大阶数。在此,置换的顺序是最小的正整数k,因此\ pi ^ k是恒等式-等于置换的循环分解中循环长度的最小公倍数。例如,g(14)= 84,这是通过(1,2,3)(4,5,6,7)(8,9,10,11,12,13,14)实现的。G(n )G(ñ)g(n)小号ñ小号ñS_nππ\piķķkπķπķ\pi^kG(14 )= 84G(14)=84g(14) = 84 因此,G(n )G(ñ)g(n)也等于厘米(一个1个,... ,一ķ)厘米⁡(一种1个,…,一种ķ)\operatorname{lcm}(a_1, \ldots, a_k)的最大值,其中一种1个+ ⋯ + 一个ķ= n一种1个+⋯+一种ķ=ña_1 + \cdots + a_k = n其中一种1个,... ,一ķ一种1个,…,一种ķa_1, \ldots, a_k正整数。 问题 编写一个计算Landau函数的函数或程序。 输入项 正整数ññn。 输出量 G(n )G(ñ)g(n)是对称组小号ñ小号ñS_n元素的最大阶数。 例子 n g(n) 1 1 2 2 3 3 4 4 5 6 …

5
多方面的舞蹈
挑战 给定n整数维数组和第一个n自然数的排列,请相应地排列数组维。 细节 这一挑战是受MATLAB启发的permute。演示 排列以整数列表形式给出,例如,[1,3,2]表示1映射到1,将2映射到3,将3映射到2(此处,i第th个条目是i映射到的值)。但是您可以使用其他方便的格式,例如作为循环或函数。如果更方便,也可以使用基于0的索引。 可以假定该数组是完整的“矩形”数组m1 x m2 x ... x mn(即,您可以假定它不是锯齿状的)。 您可以假设该n值不太大,因为许多语言对嵌套数组中的维数都有限制。 如果您的语言不支持多维数组,则也可以将代表数组的字符串作为输入。 例子 任何n与身份置换维数组[1,2,3,...,n]将保持不变。 [[10,20,30],[40,50,60]]具有排列的数组[2,1]将映射到[[10,40],[20,50],[30,60]]。 [[[1,2],[3,4]],[[5,6],[7,8]]]具有排列的数组[2,3,1]将映射到[[[1,3],[5,7]],[[2,4],[6,8]]]。

14
从1到n计数而没有任何连续数字
目标 您会得到一个整数n(n > 1)。你必须输出的整数的许多排列如何1以n有它启动1,在年底n,不具有相差1两个连续的整数。 或者,如果您拍摄完整的图形K_n并删除路径的边缘,则1-2-3-...-n必须在其余图形中计算从1到的哈密顿路径n。 这些示例将f(n)用于一个函数,该函数接受n并输出有效排列的数量,但是您提交的内容可以是一个函数或一个程序。 例子 对于n = 6,可能的解决方案是1-3-5-2-4-6 但是,1-3-5-2-6-4这不是有效的解决方案,因为它没有以结尾6。 实际上,对于n = 6,只有2个解决方案(1-4-2-5-3-6另一个是)。 因此f(6) = 2。 对于n = 4开始于1和结束于的唯一排列4是1-2-3-4和1-3-2-4。在这两个中,都与2相邻3,从而给出相差1的连续整数f(4) = 0。 测试用例 f(6) = 2 f(4) = 0 f(8) = 68 f(13) = 4462848 获奖标准 这是代码高尔夫球,答案最短。

6
Anaglot语法图
任务 用n种不同的语言编写一些可以重新排列到n个不同程序中的代码,每种输出从1到n的不同数字。 没有两种语言应该是相同的,但是只要它们具有不同的主要版本号,“相同语言”的不同版本将被视为不同的语言。对于这一挑战,REPL环境与其父语言没有区别,但仍然是一种语言。每种语言应在源代码的不同排列上运行,并在范围内输出不同的数字。 排列将以字节为单位,而不以字符为单位。 您应该包括使用测试所使用的语言运行的每个排列。 计分 您的分数将是 其中N是语言数,L是程序字节的唯一顺序数。 L不等于程序的长度 (除非程序为1或0字节) 这是计算Conor O'Brien的L的Python脚本。 当且仅当程序中没有重复的字节时,L才等于程序阶乘的长度。 目标是最大化您的分数。

11
最大化平方差
考虑从1到的整数值的置换N。例如此示例N = 4: [1, 3, 4, 2] 我们将认为此列表是循环的,因此1和2被视为相邻列表。我们可以为这样的列表计算的一个量是相邻值的总平方差: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 给定正整数,您的任务是找到一个最大化此数量的排列N。在N = 4上面的例子中不是最佳的(实际上,这是最小的)。18通过以下排列(以及其他几个排列),我们可以实现的总平方差: [1, 4, 2, 3] 您的算法必须在(的N)多项式时间内运行。特别是,您不能简单地计算所有排列的总平方差。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输出可以采用任何方便,明确,平坦的列表或字符串格式。您可以选择从与返回值的列表0,以N-1代替1向N。 适用标准代码高尔夫球规则。 测试数据 这个问题有一个很好的分析解决方案。例如,所有有效的解决方案N = 10均等效于以下列表(直至循环移位和反转): [7, 5, 6, 4, 8, 2, 10, 1, 9, 3] 我不想透露过多的信息(尽管足以找出模式),因此无需给出更多示例,您可以检查您的结果是否具有给定的总平方差N: N Total squared difference 1 0 2 …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

12
原始编号(二)
这个挑战是基本相同的这一个只有一个区别:它现在允许在字符串中的任何洗牌字母。 情境 约翰有一个重要的数字,他不希望其他人看到它。 他决定使用以下步骤对数字进行加密: 他的号码始终是一个不递减的序列(即"1123") 他将每个数字都转换成英语单词。(即"123" -> "ONETWOTHREE") 然后,随机重新排列字母。(即"ONETWOTHREE" -> "EEWOOHRNTET") 约翰觉得这样做很安全。实际上,这样的加密很容易解密:( 任务 给定加密的字符串s,您的任务是解密它并返回原始数字。 规则 这是代码高尔夫,所以最短答案以字节为单位 您可以假设输入字符串始终有效 输入字符串仅包含大写字母 原始编号始终按升序排列 您可以以字符串或整数格式返回数字 字母将仅在一个单词之间而不是在整个字符串之间随机播放。字母可以在字符串中的任何位置随机播放。 这些数字只能是1到9(含)之间的数字(ONE至NINE) 可能的未加密字符串 在将字符串从数字转换为字符串之后,下面是这些字符串的列表: 1 -> ONE 2 -> TWO 3 -> THREE 4 -> FOUR 5 -> FIVE 6 -> SIX 7 -> SEVEN 8 -> EIGHT 9 -> …

28
计算逆模量
任务: 输出for的值x,其中a mod x = b有两个给定值a,b。 假设条件 a并且b将始终为正整数 永远不会有解决方案 x 如果存在多个解决方案,请至少输出其中之一。 如果没有任何解决方案,则不输出任何内容或表明不存在任何解决方案。 允许内置(不像其他数学方法那样有趣) 输出始终是整数 例子 A, B >> POSSIBLE OUTPUTS 5, 2 >> 3 9, 4 >> 5 8, 2 >> 3, 6 6, 6 >> 7, (ANY NUMBER > 6) 8, 7 >> NO SOLUTION 2, 4 >> NO …
18 code-golf  math  number-theory  code-golf  number  integer  code-golf  string  code-golf  music  code-golf  arithmetic  array-manipulation  decision-problem  code-golf  math  rational-numbers  code-golf  code-golf  graphical-output  hardware  code-golf  math  number  code-golf  string  parsing  natural-language  code-golf  tips  brain-flak  code-golf  graph-theory  code-golf  number  polynomials  king-of-the-hill  code-golf  ascii-art  kolmogorov-complexity  animation  king-of-the-hill  code-golf  tips  code-golf  ascii-art  code-golf  string  array-manipulation  data-structures  code-golf  math  number  code-golf  string  base-conversion  binary  code-golf  decision-problem  graph-theory  code-golf  math  polynomials  code-golf  kolmogorov-complexity  physics  code-golf  sequence  number-theory  code-golf  math  integer-partitions  code-golf  array-manipulation  random  permutations  code-golf  string  decision-problem 

14
排列异常数
给定一个整数N作为输入,输出Nth的排列变数。 排列错误的数字是严格的正整数,因此其数字至少有一个排列会导致回文(即,一个本身相反的数字)。 例如,117是一个排列错误的数字,因为它的数字可以排列成171回文,即回文。 我们认为10,即使01 = 1是回文,类似的数字也不是排列变态数字。我们强加回文排列必须不带前导零(因此,0它本身不是变排列林)。 已经排列为回文的数字也属于排列变幻无常,因为排列无意义。 输入和输出 N可以是0索引或1索引。请指出您的答案使用的是哪两个。 输入可以通过STDIN,作为函数参数或使用您选择的语言中的任何类似内容进行。可以将输出写入STDOUT函数,从函数返回或使用您选择的语言进行的任何类似操作。 输入和输出必须以十进制为基础。 测试用例 以下测试用例是1索引的。您的程序必须最多能够在1分钟内通过此处介绍的任何测试用例。 N Output 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 11 42 181 100 404 128 511 256 994 270 1166 计分 这是代码高尔夫球,因此最短的答案以字节为单位。

14
用于恶意目的的奇怪分类机
晚上好,高尔夫球手! 您面临的挑战是完全不对一系列数字进行排序。 输入值 恰好100个整数将被喂入您的程序。您的程序可以将输入作为文件或通过stdin接受。每个整数将由换行符分隔。 在您选择的语言中,这100个整数的范围从带符号整数的最小值到最大值。 不会有重复的值。这些值可以是有序的,无序的或部分有序的-您的程序应该能够处理各种情况。 输出量 输出必须是100个完全未排序的整数,每个整数之间都用换行符分隔。输出可以通过stdout或到文件。 完全未排序表示如果列表按有序序列完全排序,则该值将不与该值相邻。 得分了 每个角色1分,最低分获胜。不使用任何内置或库排序功能的解决方案,则奖励为-100。对于没有内置随机数功能的任何解决方案,奖励为-20。 我试图尽可能完整地定义这个问题。如果您有任何问题,请询问。如果您对我下次如何做有任何评论,请告诉我。 前面!

23
枚举排列
给定一些正整数生成对象的所有排列。nñnnñn 细节 排列是没有固定点的排列。(这意味着在每个排列编号中,i一世i都不能位于第i一世i个条目中)。 输出应包含数字(1,2,…,n)(1个,2,…,ñ)(1,2,\ldots,n)(或(0,1,2,…,n−1)(0,1个,2,…,ñ-1个)(0,1,2,\ldots,n-1))的排列。 您也可以始终打印(n,n−1,…,1)(ñ,ñ-1个,…,1个)(n,n-1,\ldots,1)(或分别(n−1,n−2,…,1,0)(ñ-1个,ñ-2,…,1个,0)(n-1,n-2,\ldots,1,0))的排列,但必须指定。 输出必须是确定性的,也就是说,每当调用某个给定nñn作为输入的程序时,输出都应该是相同的(这包括排列顺序必须保持相同),并且完整的输出必须在每次有限的时间(以概率1这样做是不够的)。 您可以假设n⩾2ñ⩾2 n \geqslant 2 对于某些给定的您可以生成所有排列,也可以选择另一个整数作为索引并打印第个排列(按您选择的顺序)。nñnkķkkķk 例子 请注意,排列顺序不必与此处列出的顺序相同: 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记录了排列的次数。

8
共轭排列
大小为n的排列是对前n个正整数的重新排序。(意味着每个整数出现一次且恰好出现一次)。排列可以像更改大小为n的项列表的顺序的函数一样对待。例如 (4 1 2 3) ["a", "b", "c", "d"] = ["d", "a", "b", "c"] 因此,排列可以像函数一样构成。 (4 1 2 3)(2 1 3 4) = (4 2 1 3) 这带来了许多有趣的属性。今天,我们专注于共轭。如果存在置换g和g -1(也为n),则置换y和x(均为n)是共轭的。 x = gyg-1 和GG -1等于身份置换(第一Ñ以正确的顺序编号)。 您的任务是通过标准输入法获取大小相同的两个排列,然后确定它们是否为共轭形式。您应该输出两个一致值之一,如果它们是共轭,则输出一个,如果不是,则另一个。 这是代码高尔夫球,因此答案将以字节计分,而字节越少越好。 关于共轭置换,有许多定理可供您使用,祝您好运和高尔夫愉快。 您可以将输入作为表示上述排列的值的有序容器(1-n或0-n),也可以作为接受有序容器并执行排列的函数。如果选择采用函数,则应将其作为参数,而不要使用预定义的名称。 测试用例 (1) (1) -> True (1 2) (2 1) -> False (2 …

10
具有相似功效的数字
给定一个整数P> 1,找出最小的整数Q> p,使得的因式分解指数列表中q是同类的的p,无论顺序或素因子值。 例子 p = 20的素数分解为2 2 x 5 1。在素数分解中具有相同指数的大于p的最小整数为q = 28 = 2 2 x 7 1。 p = 2500的素数分解为2 2 x 5 4。在素数分解中具有相同指数的,大于p的最小整数为q = 2704 = 2 4 x 13 2。 规则 输入保证为大于1的整数。 这是代码高尔夫球,因此最短的答案以字节为单位。 测试用例 Input | Output ------+------- 2 | 3 20 | 28 103 | …

30
消失的元素
给定一个字符串S和一个索引列表X,S通过删除每个索引处的元素来进行修改,并将S结果作为的新值S。 例如,给定S = 'codegolf'和X = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

25
一个简单的模式
输入: 您选择的输入格式中的两位数字(我们称它们为m和n)和两个字符(我们称其为a和b)。 输出: 对于演练,请假装m=2, n=5, a='a', b='b'。 您的输出将是根据四个输入构建的字符串。让我们result用value 调用字符串""。首先,连击a到result m时间,所以串连a到result 2倍。result现在等于aa。其次,连击b到result m时间,所以串连b到result 2倍。result现在等于aabb。最后,如果结果已经比更长n,请截断result它,使其具有length n。否则,继续交替使用m的长度运行a,并b直到result有长度n。最终result是aabba,它有长度5。 测试用例: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = 4, n …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

10
魔术六角
正如James Grime博士所解释的,有很多魔术方块,但是只有一个非平凡的魔术六角形,如下所示: 18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10 正如在Hexagony中所做的那样,只需逐行阅读,最容易写成一行: 18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10 如果计算旋转和反射,当然总共有十二个这种六边形的此类列表表示形式。例如,上述六边形的顺时针旋转1/6将导致 9 11 18 14 6 1 17 15 …

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.