Questions tagged «source-layout»

对于涉及源代码的物理布局或物理处理的挑战。

25
检测完美配对
让我们有一个函数,它接收一个字符串并删除所有成对的相邻相同字符。例如fff f(abbbacc)=abaf(abbbacc)=abaf(a\color{red}{bb}ba\color{red}{cc}) = aba 请注意,当两对重叠时,我们只会移除其中一对。 如果重复应用最终产生空字符串,我们将调用完美配对的字符串。例如,上面的字符串不是完美配对的,因为如果再次应用,我们仍然会得到。然而,像这样的字符串是完美配对的,因为如果我们应用三次,我们将得到空字符串abbbaccabbbaccabbbaccfffabaabaabaeabbccaddeeabbccaddeeabbccaddefff f(eabbccadde)=eaaef(eabbccadde)=eaaef(ea\color{red}{bbcc}a\color{red}{dd}e) = eaae f(eaae)=eef(eaae)=eef(e\color{red}{aa}e) = ee f(ee)=f(ee)=f(\color{red}{ee}) = 您的任务是编写完美配对的计算机代码,该代码采用一个字符串(可打印ASCII),并确定其是否完全配对。源的字节串本身必须是完美配对的字符串,尽管您的代码不必一定限于可打印的ASCII。 您可以输出两个不同的值:一个用于输入完美配对的情况,另一个用于不配对的情况。 这是一个代码问题,因此答案将按其来源的字节大小进行评分,而字节越少越好。 测试用例 abbbacc→Falseabcba→Falseabab→Falseabbbaabacc→Trueeabbccadde→Truebbbb→Trueabbbacc→Falseabcba→Falseabab→Falseabbbaabacc→Trueeabbccadde→Truebbbb→Trueabbbacc \rightarrow \mathrm{False}\\ abcba \rightarrow \mathrm{False}\\ abab \rightarrow \mathrm{False}\\ abbbaabacc \rightarrow \mathrm{True}\\ eabbccadde \rightarrow \mathrm{True}\\ bbbb \rightarrow \mathrm{True}

20
形状识别程序
您的任务是构建一个识别输入形状的程序。要标识的形状可以是以下任意一种: 广场 要被识别为正方形,源必须具有所有等长的行,并且每行的字符数与行数相同(不包括换行符)。可选的尾随换行符是可接受的。 $_=' $_=" $_"' ;say 长方形 要被识别为矩形,源必须具有全部等长的行,但是行数与每行的字符数不匹配(不包括换行符)。可选的尾随换行符是可以接受的。这可以是水平或垂直的。 $_= "no t a squ are ";# $_="but it is still a consistent shape!";## 三角形 要标识为三角形,源代码必须以一个字符开头,并且每行之后必须有一个附加字符(包括最后一个字符),或者在第一行之后,每行之后的最后一行应少一个字符,直到最后一行只有一个。 $ _= "So this "."". shape; $_="or even, this way !! " 混乱 任何不遵循上述一致格式的内容,都必须识别为混乱。 规则 您可以返回任何四个一致的可打印值来标识每个形状。 您的源代码还必须遵守上述形状之一(不,不要乱成一团)。 您的源中的一条尾随换行符是可以接受的。 您可以假定输入不包含任何空行(包括尾随换行符),不为空并且不仅由换行符组成。 所有形状的高度和宽度必须大于等于2,否则定义为混乱。 禁止出现标准漏洞。 每种语言中以字节为单位的最短解决方案为准。

23
基数密码挑战
任务 您负责制作各种指南针。 想象一下您的源代码是指南针“针”,在不同方向上运行会产生不同的输出。 支持的源代码方向为北,东,南和西。 例 假设您有源代码: ABCD J K WXYZ 我们将其视为北方方向,顺时针旋转90度将我们指向东方: W A XJB Y C ZKD 再次向南旋转点: ZYXW K J DCBA 最后,最后一次向西旋转: DKZ C Y BJX A W 运行时,以上每个代码示例都应输出一个单独的,不同的可打印ASCII字符供您选择。 笔记 您的代码不得输入。 旋转时,空白空间或新行不会折叠/消失。 输出中的行首/尾行都可以。 答案可能是整个程序或函数,因此输出到STDOUT或返回函数结果。 适用标准高尔夫球规则;以字节为单位的最短答案胜出!

16
运行合并冲突
当使用git之类的工具合并两个文件时,可能会检测到冲突并将其添加到合并结果中。 这两个文件的合并: 我的档案: Common line of code 1 Common line of code 2 my lines Common line of code 3 Common line of code 4 他们的档案: Common line of code 1 Common line of code 2 their lines Common line of code 3 Common line of code 4 会导致: Common …

7
与其他程序的源进行XOR加密程序
编写两个程序,以便当它们的源代码字节一起进行XOR-d运算时,将生成第三个有效程序,并且所有程序都使用相同的语言。三个程序中每个程序的长度(以字节为单位)必须相同。 第一个程序应该输出A。第二个程序应该输出B。第三个程序应该输出C。 换行符是可选的,但是如果其中一个输出换行符,则其他两个也都必须换行。 如果使用任何命令行标志,则每个程序都必须使用相同的标志,即,所有三个程序必须以相同的方式执行。如果您使用的是PHP之类的语言,传统上是以相同的字符组合开头的,例如,<?但是有一个命令行选项可以删除那些字符,那么您可以改用它,即PHP必须仅从命令行运行。 不允许输入。每个程序必须是独立的。 如果您的程序是完全用ASCII编写的,则下表可能会有所帮助: Codes 0x20 - 0x3F !"#$%&'()*+,-./ 0123456789:;<=>? Codes 0x40 - 0x5F @ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_ Codes 0x60 - 0x7E `abcdefghijklmno pqrstuvwxyz{|}~ 编辑 允许使用非印刷字符,因为我最初并未明确禁止使用。但是,如果您要发布仅使用可打印字符的版本,那就太好了!(以最短者为准。)现在,使用控制代码的“明智因素”已经逐渐消失... 结束编辑 对来自同一块的任何两个代码进行XOR运算将生成小于0x20的代码,因此这不是有效的可打印ASCII代码,例如0x41(A)XOR 0x5A(Z)= 0x1B。对来自不同块的任何两个代码进行XOR运算,将从第三个块产生一个代码,例如0x61(a)XOR 0x54(T)= 0x35(5)。 | @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo 0Pp …

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\ | | ^ ^ ^ | …

14
重用您的代码!
在这一挑战中,我们试图立即解决两个重要问题。他们是: 给定整数a和b,确定b -1是否为质数。 给定整数a和b,返回nCr(a,b)。 具体来说,您必须编写两个程序,一个程序执行第一个任务,另一个程序执行另一个任务。由于我们想一次解决两个问题,因此建议在两个程序中使用同一段代码。 计分 答案的分数是两个程序之间的Levenshtein距离。分数越低越好。如果出现平局,则以两个程序中组合代码最短的答案为准。您可以使用此脚本来计算解决方案的分数。 规则 您必须用相同的语言编写两个程序来解决上述任务。您可以使用所需的任何I / O方法。对于任务1,您可以返回真实/虚假值,或选择两个值分别表示是和否,然后相应地返回它们。例如。您可以选择“ "prime"真”和“ "not prime"假”。 您使用的算法必须适用于所有可能的输入,但是如果代码由于使用的数字类型的限制而无法用于大量数字,则可以。您可以假定输入有效。 程序的任何子集都不能解决问题,即。如果删除了任何字符,该代码将无法正常工作。例如,以下代码无效,因为可以在不破坏程序的情况下删除未使用的else-block: if (1) { /* change to 0 to get the second program*/ ... } else { ... } 不允许出现标准漏洞。 测试用例 a b -1是质数? a b 1 1 false 2 3 true 5 2 false …

28
站起来排长队
最近,有人对Python的默认行长提出了更严格的限制: 显然,出于各种原因,任何程序每行都不得使用超过80个字符。首先,对于可读性和可维护性,拥有一个坚实的标准很重要,因此我们可以适当地调整文本编辑器的宽度。作为第二个好处,代码可以轻松地转移到可能有限制的媒体上,并且添加换行符可能会分散注意力,例如打印页面供会议中查看或打孔卡。 但是80个字符太高了吗?一些建议使用79,甚至低至75,以允许80个字符宽的终端使代码适合带有几行行号的列。显然,最终,越低越好,因为较低的限制允许代码在更多情况下使用,而无需重新格式化。 介绍max6标准 您的目标是通过编写任何行中字符数最少的FizzBu​​zz变体来查找和演示“收藏夹语言”所需的最小行长。 输入项 整数n通过任何所需的方法。 输出量 从1打印编号,以Ñ,(Ñ ≥1,Ñ ∈ℤ)分离由换行,除了: 用于3个打印“ Apple”的倍数 用于5个打印“派”的倍数 用于3和5的倍数打印“ ApplePie” 计分 最大行长度(以字节为单位),不包括换行符(Cr,CrLf,Lf或其他系统标准中断,根据需要指定),总代码长度(以字节为单位)作为平局决胜局。 规则 所有换行符都必须有意义。可被移除和相邻的线直接连接在一起而对输出的影响换行符,必须被去除。

15
跟着我重复!
给定一个字符串作为参数,输出最长的不重叠重复子字符串的长度;如果没有这样的字符串,则输出零。 您可以假设输入字符串不为空。 例子 abcdefabc:子字符串abc在位置1和7处重复,因此程序应输出3 abcabcabcabcab:abcabc或bcabcaor cabcab重复,因此程序应输出6。(子字符串abcabcabcab也被重复,但是出现的部分重叠,因此我们不接受它)。 aaaaaaa:aaa例如在位置1和4处重复,因此程序应输出3 abcda:a重复,因此程序应输出1 xyz:没有重复的字符串→ 0 ababcabcabcabcab:应返回6 这是代码高尔夫球,因此最少的字节获胜。
23 code-golf  string  code-golf  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  hexadecimal  code-golf  code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

7
代码填字游戏
这是警察和强盗的挑战。如果您是警察(填字游戏制造商),请在此处回答;如果您是强盗(填字游戏求解器),请回答相关问题。您可以同时担任这两个角色。 警察(益智类) 您的任务是编写10×10 填字游戏,其中的代码片段代替了单词或短语,而是线索的解决方案。每个线索将是一个非空的字符序列,因此运行它所引用的代码片段会将序列输出到stdout。 您的帖子必须包括三件事: 您的空白 10×10纵横网格,使用#为深色(线索分离器)和_用于灯(在待填充电池)。 每条水平或垂直的2个或更多的光序列(由黑暗或网格边缘限制)都是您必须为其提供线索的条目。为方便起见,您应以通常的方式(从左至右,从上至下)对这些编号,方法是_在每个条目的开头用唯一的字符标识符(例如1、2,...,A,B )替换,...)。 您的网格可能有许多暗度。 您的网格可能有许多线索。 水平条目始终从左至右阅读,垂直条目从上至下阅读。 线索列表,其中包含填字游戏中上下左右的每个条目。 线索必须包含至少1个且不超过10个字符。 如果您的线索中包含空格,请在格式化帖子时确保它们显而易见。 页眉和页脚代码段,每个20个字符或更少。 它们分别在解决方案摘要之前和之后运行,并且可能有助于重命名较长的内置插件等。 确保线索匹配其相应代码段的过程为: 连接页眉,摘要和页脚:[header][snippet][footer]。 作为常规程序运行此程序(独立于以前的运行),然后查看打印到标准输出的内容。 如果这与线索相符,则该片段是有效的解决方案。 为简单起见,您只能在整个过程中使用可打印的ASCII(十六进制代码20至7E)。页眉和页脚本身也可能包含制表符和换行符。 附加条款 对于任何摘要,[header][snippet][footer]在一台像样的现代计算机上运行都不会超过一分钟。 您必须指定您的编程语言(和版本)。 您可能不使用任何常见的哈希算法。 您可能不使用外部库。 您代码中的所有内容都必须是确定性的,时不变的,并且不需要网络连接。 #并且_可以在片段(或其他地方)发生。 您可能会像COTO那样揭露填字游戏中的某些字符。他们仍然算作灯。不需要强盗使用它们,它们只是很好的提示。 例 使用Python 3.部首一个简单的例子:p=print;t=5;。没有页脚。 未解决的网格: ########## 1___2___## _###_##### _###_##### _###_##### ####_##### ####_##### ###3______ ####_##### ####_##### 线索: ACROSS 1: 8 3: A! …

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 

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 

9
凯撒(Caesar-Cypher)-Mania
的凯撒Cypher支架是一个非常简单的置换密码其中每个字母是由固定的偏移(围绕Z的循环至A)移动。同样,我们也可以为一组可打印ASCII字符设置一个Caesar密码。这是从代码点0x20到0x7E的95个字符。对于给定的偏移量d,我们将代码点映射C到 (C - 32 + d) % 95 + 32 会将所有字符移动a d并从~到循环。超出此范围的字符(控制字符,如换行符,制表符和ASCII范围以外的字符)不受影响。 您要编写两个程序或函数(可能使用不同的语言),它们需要一个偏移量d和一个字符串。第一个程序应返回或打印输入的凯撒密码。第二个程序应返回或打印逆凯撒密码(即使用offset -d)。您可以通过STDIN,命令行参数或函数参数进行输入。 为了使事情变得更有趣,第二个程序必须是第一个程序的凯撒密码。也就是说,如果将第一个程序的源代码传递给自身,则对于某些非零偏移量d,输出必须是第二个程序。 这两个程序以及输入字符串都必须仅包含可打印的ASCII字符,换行符和制表符。程序都不能包含任何注释,也不能直接或间接读取其自己的源代码,文件名或进程ID。 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。由于两个程序必须具有相同的大小,因此您只需要计算一次即可。

6
相互负的奎因
这是受“ 打印代码否定”和“打高尔夫球”的共同启发的。 考虑一个满足以下限制的矩形字符: 仅由可打印的ASCII字符组成 尺寸均大于1 每一行每一列至少包含一个空格。 每一行和每一列至少包含一个非空格字符。 例如,以下是有效的6x4矩形: %n 2e 1 g 3 &* __ 3 此矩形的负数定义为等长的矩形,所有空格均由非空格字符替换,所有非空格字符均由空格替换。上面矩形的负数可以是: f ^ 33 > 9 $ ^ }|Q' 任何不可空格打印的ASCII字符都可以用来替换空格。 任务 您的任务是编写一个带有矩形源代码的程序,该程序向自身输出有效的否定值。输出的负数也必须是与原始语言相同的有效程序,并且必须输出原始的源。 除了在任一输出末尾的单个尾随换行符(可选)外,不得添加或删除尾随空格。 任何程序都不允许读取其中任何一个的源代码;也不能假设为REPL环境。 计分 您的分数是代码尺寸的乘积(即,如果源代码在12 x 25的矩形中,则分数为12 * 15 = 180)。此外,对于注释中使用的每个字符,您的得分将增加2(如果您/* .. */在代码中使用一次,并且您的代码位于10 x 10的矩形中,则得分将为10 * 10 + 8 * 2 = 116)。 …

3
编写一个平方程序,输出已被“展开”的次数
对于一个大于1的奇数整数N,考虑一个正方形的文本块,N个字符,宽N个字符。 例如,让N = 5,文本为: MLKJI NWVUH OXYTG PQRSF ABCDE 请注意,这是从左下角逆时针旋转的字母(Z以外)。有点像卷起的地毯。 将文本“展开”顺时针旋转四分之一圈,因此FGHI与以下ABCDE结果处于同一水平: PONM QXWL RYVK STUJ ABCDEFGHI 展开操作可以再进行7次,直到文本变为一行: SRQP TYXO UVWN ABCDEFGHIJKLM UTS VYR WXQ ABCDEFGHIJKLMNOP WVU XYT ABCDEFGHIJKLMNOPQRS XW YV ABCDEFGHIJKLMNOPQRSTU YX ABCDEFGHIJKLMNOPQRSTUVW Y ABCDEFGHIJKLMNOPQRSTUVWX ABCDEFGHIJKLMNOPQRSTUVWXY 挑战 面临的挑战是编写一个N×N文本块的程序,该程序在重新排列为展开模式并运行时输出其“展开”四分之一圈的次数。 这里确实有两个比赛:(希望不会太凌乱) 用最小的N进行此操作(下降到N = 3的限制) 用最大N来执行此操作(无限制) 不会有一个可接受的答案,但是这些类别中的每个类别的获胜者都会收到我的至少50笔赏金。如果是平局,则最早的答案将获胜。 例 如果您的代码块是 MyP rog ram 按原样运行它应输出0。 …

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.