Questions tagged «permutations»

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

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

17
隐藏的倒置(警察线程)
这是一个警察和强盗的谜题,可以在这里找到强盗的线索。 您的任务将是两个编写两个程序(或函数),使它们彼此相似,并且一个与另一个相反。这些程序可以接受并输出任意数量的整数或复数。如果选择以数字作为字符点或任何其他合理的方式,则必须在答案中指出自己正在这样做。如果选择限制功能域,则还必须在答案中指出限制域。 然后,您将以答案的形式展示第一个程序,其中隐藏了左反函数供强盗查找。 所示程序必须实现一个内射函数(否则将不可能存在隐藏的答案)。 如果您的答案在一周内没有被破解,则可以显示隐藏的答案并将其标记为安全。安全答案不能被强盗破解,并且可以无限期保持不变。 目标是创建最短的未破解答案(以字节为单位)。 例 您可以显示以下python程序,将其添加到输入中 lambda x:~-x 解决方案可能是: lambda x:-~x 这从输入中减去一个

30
因此管理垃圾
PPCG在某种程度上已经成为一种传统,一些用户通过字谜(通过重新排序旧字母而形成的新名称)临时更改其名称。 有时很难找出谁是谁。我可以使用一个程序或函数来判断两个短语是否是彼此的字谜。 挑战 程序或函数应该采用两个字符串,并且如果它们彼此是字谜,则应产生真实的结果,否则应为虚假的。 规则 输入将仅包含字母(ASCII 65至90和97至122),数字(ASCII 48至57)或空格(ASCII 32)。 字谜关系与大小写无关。所以“手臂”和“ RAM”是字谜。 空格也不计算在内。所以“键盘”和“吠叫哟” 允许所有内置 输入格式灵活(两个字符串,两个字符串的数组,包含两个短语的字符串以及合适的分隔符...) 代码高尔夫。最少的字节数获胜。 测试用例 真相: Lynn, Nyl N Digital Trauma, Tau Digital Arm Sp3000, P S 3000 Manage Trash So, Those anagrams 虚假 Calvins Hobbies, Helka Homba Android, rains odd In between days, bayed entwine Code golf, cod …

30
每日随机高尔夫#1:随机排列
关于系列 我将围绕随机性主题运行一系列代码高尔夫球挑战。这基本上是一个9洞 高尔夫球场,但涉及多个问题。您可以单独参加任何挑战,就像是正常问题一样。 但是,我将在所有挑战中保持领先。该系列将运行9个挑战(目前),每隔几天发布一次。参加所有9个挑战的每个用户都有资格赢得整个系列赛。他们的总体分数是每个挑战中最短提交的总和(因此,如果您回答一次挑战两次,则只有得分更高的一个才计入分数)。如果有任何人在28天的时间里保持排行榜榜首,我将奖励他们500代表。 尽管我在本系列中有很多想法,但未来的挑战还没有定下来。如果您有任何建议,请在相关的沙箱帖子上让我知道。 漏洞1:随机排列数组 第一项任务非常简单:给定一个非空的整数数组,将其随机洗牌。但是有一些规则: 必须以相同的概率返回所有可能的排列(因此,混洗应具有均匀的分布)。您可以通过在Will It Shuffle上的JavaScript中实现算法来检查算法是否统一/无偏,这将生成偏差矩阵-结果看起来应与内置的Fisher-Yates或sort(随机顺序)一样均匀。 您不得使用任何内置方法或第三方方法来随机排列数组或生成随机排列(或枚举所有排列)。特别是,您可能使用的唯一内置随机函数是一次获取一个随机数。您可以假定任何内置随机数方法都在O(1)中运行并且在请求的间隔内完全统一(从数学意义上讲,您可以在此处忽略浮点表示的详细信息)。如果您的语言允许您一次获取m个随机数的列表,则可以使用此功能,前提是m个数彼此独立,并将其计为O(m)。 您的实现不得超过O(N)的时间复杂度,其中N是要改组的数组的大小。例如,您不能“按随机数排序”。 您可以在适当位置随机排列数组,也可以创建一个新数组(在这种情况下,可以根据需要修改旧数组)。 您可以编写完整的程序或函数,并通过STDIN,命令行参数,函数参数或提示接受输入,并通过返回值或通过打印到STDOUT(或最接近的替代方法)来产生输出。如果编写的函数可以在适当的位置随机排列数组,那么您当然不需要返回它(前提是您的语言允许您在函数返回后访问修改后的数组)。 输入和输出可以是任何方便的列表或字符串的格式,但必须支持任意的整数范围-2 31 ≤X <2 31。原则上,您的代码应适用于长度最大为2 31的数组,尽管这不一定必须适合您的内存或在合理的时间内完成。(我只是不想看到硬编码循环或其他内容的任意大小限制。) 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜。 排行榜 以下代码片段将在该系列的所有挑战中产生一个排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头每个答案: # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes (目前未显示该语言,但是该代码段确实需要并对其进行解析,并且将来我可能会添加一个语言排行榜。) 显示代码段 /* Configuration */ var QUESTION_IDs = [45302, 45447, 46991, 49394, 51222, 66319, …

22
引爆一根弦
给定任何字符串,以三角形的形式打印它,其中文本沿每个对角线上下移动。例如,输入的"Hello World"应输出: d l r d o l W r d o l o W r d l o l l o W r d e l o l H l o W r d e l o l l o W r d l o l o W r …

6
您可以通过加倍并重新排列来达到此数字吗?
受到Math.SE上这个问题的启发。 首先,1您可以重复执行以下两个操作之一: 将数字加倍。 要么 以任何您想要的方式重新排列其数字,但不得有任何前导零。 以链接的Math.SE帖子为例,我们可以1000通过以下步骤进行操作: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 125, 250, 500, 1000 您可以通过此过程获得哪些数字,最短的解决方案是什么? 挑战 给定正整数,如果可能的话N,确定N上述过程可以达到的最短整数序列。如果有几个最佳解决方案,请输出其中任何一个。如果不存在这样的序列,则应输出一个空列表。 该序列可以采用任何方便,明确的字符串或列表格式。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。 测试用例 这是所有可达的数字列表,最大为256,包括256。第一列是数字(您的输入),第二列是最佳步骤数(可用于检查解决方案的有效性),第三列是专栏是到达那里的一种最佳顺序: 1 1 {1} 2 2 {1,2} 4 3 {1,2,4} 8 4 {1,2,4,8} 16 5 {1,2,4,8,16} 23 7 {1,2,4,8,16,32,23} 29 10 {1,2,4,8,16,32,23,46,92,29} 32 …

24
这是Loeschian号码吗?
正整数k是Loeschian数,如果 k可以表示i*i + j*j + i*j为i,j整数。 例如,第一正Loeschian号码为:1(i=1,j=0); 3(i=j=1); 4(i=2,j=0); 7(i=2,j=1); 9(i=-3,j=3); ...注意i,j对于给定k的不是唯一的。例如,9也可以与产生的i=3,j=0。 这些数字的其他等效特征是: k可以表示i*i + j*j + i*j为i,j非负整数。(对于每对整数i,j都有一对给出相同值的非负整数k) 有一组k连续的六边形在六边形网格上形成网格化(请参见k = 4和的插图k = 7)。(由于这个属性,这些数字可在移动蜂窝通信网络中找到应用。) 在序列的OEIS页面中查看更多特征。 挑战 给定一个正整数,如果它是Loeschian数,则输出真实结果,否则,则输出虚假结果。 程序或函数应处理(例如不到一分钟)最多达1000或数据类型限制的输入。 代码高尔夫。最短的胜利。 测试用例 以下数字应输出真实结果: 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 以下数字应输出虚假结果: 2, 5, 10, 42, 101, 102, 128, 150, 501, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

6
评分Tarzan的奥林匹克葡萄摇摆常规
奥运会的葡萄树摆动者在标准的树上执行常规活动。特别是,“标准树” n具有0向上穿过的顶点n-1以及将每个非零顶点连接a到其n % a下面的顶点的边。因此,例如,标准树5如下所示: 3 | 2 4 \ / 1 | 0 因为5除以3时的余数为2,所以5除以2或4时的余数为1,而5除以1时的余数为0。 今年,泰山将捍卫他的金新套路,每个始于顶点n - 1,秋千到顶点n - 2,继续顶点n - 3,等等,直到最后他卸除到顶点0。 例行程序的分数是每个挥杆(包括拆卸)的分数之和,挥杆的分数是树内起点和终点之间的距离。因此,Tarzan在标准树5上的例程得分为6: 从摇摆4到3得分3分(向下,向上,向上), 从摇摆3到2得分(下降)一分, 从摆动2到1得分1分(向下),并且 从下来1,0得分为1分(下降)。 编写一个程序或函数,给定一个正整数n,该程序或函数将计算Tarzan例程在Standard Tree上的得分n。样本输入和输出: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

20
法鲁洗牌数组
阿法鲁洗牌是经常使用的魔术到“洗牌”甲板的技术。要执行Faro随机播放,您首先将卡座切成相等的两半,然后将这两个半插入。例如 [1 2 3 4 5 6 7 8] 法鲁洗牌是 [1 5 2 6 3 7 4 8] 可以重复多次。有趣的是,如果重复此次数足够多,您将总是回到原始数组。例如: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 7 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

26
数字总和斐波那契
我们都熟悉斐波那契数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765 但是,相反,f(n) = f(n-1) + f(n-2)我们将对前2个条目进行数字求和。 序列应仍以开头0, 1,之后差异会迅速显现。此列表的索引为0,也可以使用索引为1的状态。 f(0) = 0 f(1) = 1 f(2) = 1 # 0 + 1 f(3) = 2 # 1 + 1 f(4) …

21
产生随机排列
挑战说明 序列的“排列”是一种排列,其中没有元素出现在其原始位置。例如,ECABD是的排列ABCDE,但CBEDA不是: ABCDE | | <- B and D are in their orignal positions CBEDA 给定一个序列,生成它的随机排列。 笔记 您可以将字符串作为输入或元素(整数,字符,对象...)的数组/列表 无需返回新对象,而是可以通过交换其元素来修改现有对象 每次错序产生的可能性均等 您可以假设序列中有多个元素,并且没有一个以上元素出现

8
脆弱的奎因
脆弱的奎因 脆弱的quine是满足通过删除单个字符来组成每个子字符串的属性的quine,在评估时会产生错误。 例如。如果您的程序asdf是木盒,那么它就很脆弱,以下程序必须出错: sdf adf asf asd 您的程序(及其所有子字符串)必须是完全确定性的,并且必须使用相同的语言。就此挑战而言,即使最终未产生错误,陷入无限循环(即无法终止)的程序也被视为“产生错误”。 存在标准漏洞,包括通常的quine限制(例如,无法读取自己的源代码)。 例如,print("foo")不是脆弱的。所有这些子字符串必须出错: rint("foo") pint("foo") prnt("foo") prit("foo") prin("foo") print"foo") print(foo") print("oo") print("fo") print("fo") print("foo) print("foo" 不会出错的是: print("oo") print("fo") print("fo") 因此它并不脆弱。 关于藜的重要说明 通过协商一致,任何可能的奎纳必须满足以下条件: 必须有可能识别程序的一部分,该部分对程序的不同部分进行编码。(“不同”表示两个部分出现在不同的位置。) 此外,木盒不得直接或间接访问其自身的源。 例 由于我认为JavaScript的function#toString是“正在读取其自身的源代码”,因此我不允许这样做。但是,如果我不想禁止它,那么这是JavaScript中的一个脆弱的方法: f=(n=b=`f=${f}`)=>(a=(n)==`f=${f}`,n=0,a)&(n!=b)?b:q 测试仪 这是一个程序,在给定程序源代码的情况下,它会生成所有必须出错的程序。 let f = (s) => [...Array(s.length).keys()].map(i => s.slice(0, i) + s.slice(i + 1)).join("\n"); let …
30 code-golf  quine  code-golf  date  code-golf  sequence  code-golf  sorting  file-system  code-golf  code-golf  ascii-art  hexagonal-grid  code-golf  string  arithmetic  code-golf  code-golf  code-challenge  source-layout  code-golf  ascii-art  cellular-automata  code-golf  string  arithmetic  balanced-string  code-golf  number  primes  code-golf  ascii-art  hexagonal-grid  code-golf  string  code-golf  string  code-golf  sequence  code-golf  ascii-art  code-golf  conversion  hexadecimal  code-challenge  restricted-source  code-golf  math  grid  code-golf  string  ascii-art  code-golf  random  minesweeper  code-golf  ascii-art  kolmogorov-complexity  board-game  scrabble  code-golf  ascii-art  code-golf  math  number-theory  decision-problem  code-golf  string  code-golf  natural-language  code-golf  internet  stack-exchange-api  code-golf  code-golf  conversion  code-golf  string  code-golf  math  arithmetic  code-golf  string  whitespace  code-golf  graphical-output  internet  code-golf  string  code-golf  string  random  permutations  code-golf  string  code-golf  string 

30
ASCII三角形
您的任务是编写一个打印ASCII三角形的程序或函数。他们看起来像这样: |\ | \ | \ ---- 您的程序将采用单个数字输入n,并带有约束0 <= n <= 1000。上面的三角形的值为n=3。 ASCII三角形将具有n反斜杠(\)和竖线(|),n+1线和破折号(-),并且每行除最终行外还将具有等于行号(从0开始,即第一行为行0)的空格。 。 例子: 输入: 4 输出: |\ | \ | \ | \ ----- 输入: 0 输出: 在此测试用例中,输出必须为空。没有空格。 输入: 1 输出: |\ -- 输入和输出必须完全是我指定的方式。 这是代码高尔夫球,因此请争取尽可能短的代码!
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

21
Levi-Civita符号
三维Levi-Civita符号是一个函数f,该函数采用,至中的(i,j,k)每个数字的三进制,定义为:{1,2,3}{-1,0,1} f(i,j,k) = 0当i,j,k不显着,即,i=j或j=k或k=i f(i,j,k) = 1当(i,j,k)是的循环移位时(1,2,3),是的之一(1,2,3), (2,3,1), (3,1,2)。 f(i,j,k) = -1当(i,j,k)是的循环移位时(3,2,1),是的之一(3,2,1), (2,1,3), (1,3,2)。 结果是符号的置换的(1,2,3),具有非置换给予0。可选地,如果我们的值相关联1,2,3以正交单位基矢量e_1, e_2, e_3,然后f(i,j,k)是行列式的列3x3矩阵e_i, e_j, e_k。 输入值 {1,2,3}依次从三个数字开始。或者,您可以选择使用零索引{0,1,2}。 输出量 它们的Levi-Civita函数值来自{-1,0,1}。这是代码高尔夫。 测试用例 有27种可能的输入。 (1, 1, 1) => 0 (1, 1, 2) => 0 (1, 1, 3) => 0 (1, 2, 1) => 0 (1, 2, 2) => 0 …

6
救命!我的计算器出现故障!
介绍 我的计算器很奇怪。有时,当我输入时8会显示2。有时,当我输入a 6时会显示+。一些按钮混在一起! 谁能帮我确定哪个? 挑战: 输入:错误方程式列表,结果正确。 输出:交换的两个按钮。 例如: 输入可以是: 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 其预期的输出是:2和*。 为什么?因为如果我们交换2和*,则所有等式都是正确的: 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 9/3 = 3 4*-9 = -36 挑战规则: 输入可以采用任何合理的格式。可以是一个以空格分隔的字符串;字符串列表或-array; 一个包含方程式的列表和另一个包含正确结果的列表。你的来电。请说明您使用的输入格式! …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

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.