Questions tagged «source-layout»

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

30
追加字符串长度
挑战: 给定s字符a- z,A- Z,0- 上的字符串9,将其长度附加s到其自身,将长度中的其他字符计为的总长度s。 输入: 只是任意长度的字符串(可以为空)。 输出: 相同的字符串,但其长度附加到末尾。代表长度的字符也应算作长度的一部分。如果要附加多个有效长度,请选择最小的长度(有关示例,请参见测试用例)。 测试用例: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above aaaaaaaaa -> aaaaaaaaa11 a1 -> a13 // Input …
51 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 

30
第三次魅力
您的任务(如果希望接受)是编写一个输出正整数(大于0)的程序。如果源代码重复,则输出必须保持不变。棘手的部分是,如果源代码键入了三次(三倍?),输出将乘以3。 规则 您必须构建一个完整的程序。也就是说,您的输出必须打印到STDOUT。 初始源必须至少为1个字节长。 两个整数都必须以10为底(禁止以其他任何底数或以科学计数法输出)。 您的程序不得接受输入(或具有未使用的空输入)。 允许输出带有尾随/前导空格的整数。 仅当位数一致时才允许前导零,例如:001-001-003或004-004-012 您可能不会在源副本之间使用换行符。 这是代码高尔夫球,因此每种语言中最短的(原始)代码胜出! 默认漏洞适用。 例 假设您的源代码为,Abc并且其对应的输出为4。如果我AbcAbc改为编写并运行它,则输出必须仍然是4。但是,如果我编写AbcAbcAbc并运行它,则输出必须为12。 无耻地被盗源于Xcoder先生的挑战

3
全天候编码
编写一个单行程序,两个或更多字符长,不包含任何行终止符且不输入任何内容。例如,您的程序可能是: MyProgram 当您的程序排列成12、3、6和9点钟的形状时,它需要输出相应的小时数。没有其他时间需要支持。 特别: 当您的程序排列成12时(🕛)的时针时 m a r g o r P y M 运行它应该输出12。 当您的程序像三点钟的指针一样排列时(🕒) m a r g o r P y MyProgram 运行它应该输出3。 当您的程序排列成6点钟(🕕)的时针时 m a r g o r P y M y P r o g r a m 运行它应该输出6。 当您的程序像9点钟(clock)的时针一样排列时 ........m ........a ........r ........g …

16
Sierpinskified代码
编写一个矩形的文本块,当该文本块布置在Sierpinski地毯中时,使用相同大小的空白区域作为空白部分,以创建一个输出地毯迭代次数的程序。 例如,如果您的文本块是 TXT BLK 然后运行程序 TXTTXTTXT BLKBLKBLK TXT TXT BLK BLK TXTTXTTXT BLKBLKBLK 应该输出,1因为程序的形状代表了Sierpinski地毯的第一次迭代。 同样,正在运行 TXTTXTTXTTXTTXTTXTTXTTXTTXT BLKBLKBLKBLKBLKBLKBLKBLKBLK TXT TXTTXT TXTTXT TXT BLK BLKBLK BLKBLK BLK TXTTXTTXTTXTTXTTXTTXTTXTTXT BLKBLKBLKBLKBLKBLKBLKBLKBLK TXTTXTTXT TXTTXTTXT BLKBLKBLK BLKBLKBLK TXT TXT TXT TXT BLK BLK BLK BLK TXTTXTTXT TXTTXTTXT BLKBLKBLK BLKBLKBLK TXTTXTTXTTXTTXTTXTTXTTXTTXT BLKBLKBLKBLKBLKBLKBLKBLKBLK TXT TXTTXT TXTTXT TXT BLK …

14
用您喜欢的单词使代码平方
选择您喜欢的没有重复字母的 6字母普通英语单词,例如wombat。 在不带注释的N×N个字符的网格中编写程序,以使每一行和每一列都以小写形式以任意顺序包含单词的所有字母。该程序必须输出36个字符或更多字符的单词定义。 规则 输出到标准输出。没有输入。 您的单词必须在Dictionary.com上并且只能包含az。没有专有名词,缩写,缩写,紧缩。 您的程序和输出只能包含可打印的ASCII字符(十六进制代码20至7E)。(这不计入程序网格中的必要换行符。) 注释是编译器或解释器传统上忽略的任何内容。您可以使用对输出无贡献或未正式执行的代码。 输出定义应该是语法上和准确的,但肯定是有趣或聪明的。 至少包含单词的6个唯一字母小写的任何行或列均有效。对角线无所谓。 计分 这是代码高尔夫,但是由于所有提交的文件都必须采用相同的正方形格式,因此您可以简单地用N指定得分。最低的N获胜,当然N不能低于6。如果是平局,则以票数最高的答案为准。 例 如果您说的话,wombat您的程序可能如下所示(N = 7): wombatD ombatEw mbatFwo bat(wom atWwomb tBwomba )wombat 注意,每一行和每一列都有字符w o m b a t。 输出可能是:(40个字符) Cute short-legged Australian marsupials.

23
手性难题
如果没有任何旋转量,形状看起来像镜像,则该形状是手性的。在这个难题中,我们将编写手性计算机程序。 对于这个难题,我们将程序视为字符的矩形矩阵。因此,应对这一挑战的所有解决方案都必须是矩形的(也就是说,所有线的长度必须相同)。我们可以按四分之一圈的增量旋转这些程序。例如程序 The quickish fish lept deftly rightwards 当顺时针旋转四分之一转时 T h r e i glq heu tpi wtc a k rdi des sfh t lf yi s h 我们也可以反映这些程序。这是在垂直轴上反映的同一程序: hsif hsikciuq ehT yltfed tpel sdrawthgir 手征性程序是这样的程序,当它旋转任意次数时,总是输出“ left”。但是,当反射时,right无论旋转多少次,该程序都会输出“ ”。 您的任务是编写一个尽可能少的字节的手性程序。 附加规则 输出不区分大小写,但应保持一致。(例如,您可以输出“ LEFT”和“ rIgHt”,但此大小写在旋转下必须保持一致) 行将在换行符或换行符和换行符之间进行拆分。 您的程序必须是矩形,可以用空格或注释填充它,但每一行的长度必须相同。 如果需要,您可以选择在所有程序上使用尾随换行符(或换行符和换行符)。

19
通过复制初始代码来创建大小增加的正方形
您的任务是编写一个长度均匀的程序,该程序打印一个ASCII艺术字型方块(如下所述),每次将原始源代码粘贴到当前代码中间时,其边长就会增加1个单位。 我很难很好地定义此任务,因此,我举一个例子: 假设您的初始代码是CODE并且已打印: 0 然后,CODE在中间插入:您的代码将变成COCODEDE并且应该打印: 00 00 CODE在中间重新插入:您的代码将变成COCOCODEDEDE 并且应该打印: 000 000 000 等等。从理论上讲,您的答案在经过任意多次迭代后都应该可以使用,但是我知道,由于语言性能的限制,它是否不能合理地超过某个阈值。 一些规则: 您可以使用任何可打印的ASCII(32-127)作为用于正方形的字符。您的选择必须是恒定的(每次迭代都应使用相同的字符)。 初始输出平方必须具有边长1。 ascii-art正方形定义为具有N行的字符串(由N-1个换行符/换行符分隔),并且每行包含N个所选字符的副本。 除尾随换行符外,您的输出不允许包含任何多余的空格。 您可以将默认值用于输入和输出(允许使用程序或功能,但不允许使用代码段)。 代码的中间部分定义为可以将源代码分为两部分,以使两者相等的点。 您的答案将按照原始程序的长度(以字节为单位)进行评分。最低字节数获胜。如果出现平局,则较早提交的答案将获胜。 您可以使用此程序来应用插入,而无需手动进行。

3
自行运行生命游戏的代码
编写两个矩形代码块,每个代码块宽w个字符,高h个字符,这些代码块在排列成网格时实现Conway的生命游戏。(w和h可以是任何正整数) 例如,两个代码块可能是:(w = 3,h = 2,不是实际代码) XX| --+ 和 | --+ 将第一个块视为“生命游戏”中的“活动”单元,将第二个块视为“死亡”单元。 现在,将这两个块的多个副本安排到一个更大的程序中,该程序代表一个生命游戏网格,例如以下滑翔机: | | | | | --+--+--+--+--+ | |XX| | | --+--+--+--+--+ | | |XX| | --+--+--+--+--+ |XX|XX|XX| | --+--+--+--+--+ | | | | | --+--+--+--+--+ | | | | | --+--+--+--+--+ 现在是关键点:运行此代码时,输​​出必须是“生命游戏”网格,此后就是该网格,并为单元格使用相同的活动代码块和无效代码块。 因此,上面程序的输出将是下一代滑翔机,它也可以作为可运行程序: | | | | …

30
StringgnirtSStringgnirtSStringgnirtS
这对您来说是一个相对简单的挑战。 给定长度为N的字符串,向前输出该字符串,然后向后输出,然后向前,然后向后输出……等等。N次。例如,如果您输入的是 Hello! 您应该输出: Hello!!olleHHello!!olleHHello!!olleH 您也可以选择输出一个尾随换行符。 您的提交可以是完整程序,也可以是函数,并且您可以采用任何合理的格式进行输入和输出。例如,您可以从STDIN / STDOUT中获取IO,从函数中获取参数,并从文件中获取返回值,等等。您可以放心地假设输入字符串将不会为空,并且仅包含可打印的ASCII。您必须在一行上输出新字符串。因此,例如,如果最后一个示例的输出是 Hello! !olleH Hello! !olleH Hello! !olleH 这不是有效的解决方案! 这里是更多测试用例: Input: a Output: a Input: abcd Output: abcddcbaabcddcba Input: OK! Output: OK!!KOOK! Input: 4815162342 Output: 4815162342243261518448151623422432615184481516234224326151844815162342243261518448151623422432615184 Input: PPCG Output: PPCGGCPPPPCGGCPP Input: 42 Output: 4224 排行榜 由于这是一个代码高尔夫挑战,因此禁止了标准漏洞,以字节为单位的最短答案胜出!但是,这也是在任何特定语言中答案最短的竞赛。尽管Java答案不太可能会击败perl或某些打高尔夫球语言的答案,但拥有最短的Java答案仍然令人印象深刻。因此,您可以使用此页首横幅查看 所有语言中最短的答案,以及 每种语言的最短答案。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N …
42 code-golf  string  code-golf  math  geometry  data-structures  repeated-transformation  code-golf  number  random  code-golf  math  rational-numbers  code-golf  ascii-art  animation  code-golf  ascii-art  number  code-golf  math  number  code-golf  data-structures  code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

9
面向移位的编程
通过获取字符串中每个字符的字节值,计算并将结果转换回一个字符,可以将字符串移位一个数字。nc(c + n) mod 256 例如,移动"ABC123"1会导致"BCD234",移动10 in "KLM;<=",并移动255 in "@AB012"。 任务 随便挑选尽可能多的数字n,0 < n < 256并编写一个将字符串作为输入的程序或函数, 当源代码不变时,返回不变的字符串,但是 返回n源代码移位后移位的字符串n。 规则 您提交的分数是受支持的n分数,分数越高越好。因此,最高分数为255。 您的提交必须至少支持一个班次,因此最低分数为1。 如果出现平局,则以较短的程序为准。 所有转移的程序都必须使用相同的语言。

12
紧密联系的挑战
无聊时我有时会做的一项活动是成对地写几个字符。然后,我画线(从不超过顶部)连接这些字符。例如,我可能会写a b c b a cabcbacabcbac,然后将线画为: 或者我可能会写a b b c a cabbcacabbcac 绘制完这些线条后,我会尝试在块周围绘制闭合循环,以使我的循环不会与我刚刚绘制的任何线条相交。例如,在第一个循环中,我们可以绘制的唯一循环是围绕整个对象,但是在第二个循环中,我们可以绘制仅围绕bbb的循环(或其他所有东西) 如果我们花一点时间来研究它,我们会发现只能绘制一些字符串,以便闭环包含所有字母或不包含所有字母(如第一个示例)。我们将这些字符串称为链接良好的字符串。 请注意,某些字符串可以多种方式绘制。例如,b b b bbbbbbbbb可以通过以下两种方式绘制(不包括第三种): 要么 如果可以绘制这些方式中的一种,从而可以使闭环包含一些字符而不与任何行相交,则该字符串未很好地链接。(所以b b b bbbbbbbbb没有很好地链接) 任务 您的任务是编写一个程序来识别链接良好的字符串。您的输入将由一个字符串组成,其中每个字符均出现偶数次,并且您的输出应为两个不同的一致值之一,如果字符串连接正确,则为一个,否则为另一个。 另外你的程序必须是一个很好地链接字符串意义 每个字符在程序中出现偶数次。 通过时应输出真实值。 您的程序应该能够为由可打印ASCII或您自己的程序中的字符组成的任何字符串产生正确的输出。每个字符出现偶数次。 答案将以其长度(以字节为单位)进行评分,而字节越少越好。 暗示 如果存在连续的非空严格子字符串,则字符串连接不正确,从而每个字符在该子字符串中出现偶数次。 测试用例 abcbac -> True abbcac -> False bbbb -> False abacbc -> True abcbabcb -> True abcbca -> …

19
用于打印* any *字符串的程序模板
编写具有以下属性的程序: 按原样运行时,程序不产生任何输出(即0字节的输出)。 程序中有一个位置(您可以选择在其开头,结尾或中间的某个位置),并具有以下属性:通过在其中放置任何字符串来修改程序,将导致生成的程序在以下情况下打印该字符串:被执行。 无论字符串是否包含引号,反斜杠,注释标记,定界符,NUL字节等,此方法都必须起作用。无论您将其放置在哪里,该字符串仍会被解释为字符串,并完全逐字打印。但是,如果很长的字符串会导致编译器用尽内存或类似内容,则可能无法处理它们(准确地说,您至少应能够处理最大1000字节长或三倍于字符串的字符串)。程序长度,以较长者为准)。 无效解决方案的一个示例是 print(""); # ^ text goes here 在Python,Perl,Ruby等中;尽管它适用于许多字符串,但不适用于包含双引号的字符串或包含子字符串的字符串\n(将其解释为换行符)。 请注意,在大多数语言中,这个问题可能是不可能的。挑战至少部分地在于找到一种可行的语言。您选择的语言必须是该站点定义下的编程语言,例如,不要以Text提交解决方案。 因为这是代码高尔夫球,所以最短的程序模板将获胜。但是,即使他们不能击败当前的赢家,也不要气from提交解决方案!您仍然可以争夺第二,第三等位置,或者只是在可行的地方找到尽可能多的答案。但是,在提交程序之前,应确保程序符合整个规范。近似解决方案将遗漏问题的重点。

8
9个字节中的40个数字
有40点的方式定向汉弥尔顿路径可以设置在3×3的网格: 该图形(感谢SP3000! )仅示出了20条无向路径。在两个方向上遍历每条彩色线,以获得40条有向路径。 挑战 仅使用可打印的ASCII,编写一个3×3的字符网格,例如: ABC DEF GHI 当从该网格中读取40个有向路径中的每一个作为40个单行9个字符的程序时,目标是使每个程序输出从1到40的唯一整数。对所有 40条路径执行此操作似乎很困难,而且不太可能,因此,您只需要使它适用于尽可能多的路径即可。 提交者的40个路径程序输出的数字从1到40最为不同。Tiebreaker转到了较早的提交。 错误或不输出从1到40的整数或输出已经覆盖的另一个路径程序的整数的路径程序不计算在内。特别: 在编译,运行或退出时发生错误的程序不计在内。警告可以。 不输出的整数从1到40或输出什么程序略微畸形如-35或35 36不计数。 需要用户输入才能产生输出的程序不计算在内。 永不结束的程序不计算在内。 从现在开始,不算确定性的程序就不算在内。 否则,将不输出已经输出另一个有效程序的从1到40的整数的有效程序。(第一程序被计数。) 只有输出整数表示形式(从1到40(含))的程序才计入总数。这些数字应采用通常的1,,2... 39,40格式,除非这不是您所用语言的规范。(输出中的尾随换行符就可以了。) 程序输出的数字和它们的顺序无关紧要。只有有效程序中不同整数的数量才重要。 所有路径程序必须以相同的语言运行。但是,“程序”实际上可以是打印或返回其目标整数的函数(没有必需的参数)或REPL命令以及完整程序。您可以在函数,REPL命令和完整程序之间混合使用。 您的9个可打印ASCII字符不需要区分。 例 如果您的3×3网格是 ABC DEF GHI 您的40个程序和输出看起来像这样 ABCFEDGHI -> 26 ABCFIHEDG -> 90 ABCFIHGDE -> 2 ABEDGHIFC -> syntax error ADEBCFIHG -> prints 40 but then errors …

30
我反转了源代码,您否定了输出!
您的任务(如果希望接受)是编写一个输出非零数字(可以是整数或浮点数)的程序。棘手的部分是,如果我反转源代码,则输出必须是取反的原始整数。 规则 您必须构建一个完整的程序。也就是说,您的输出必须打印到STDOUT。 两个数字都必须以10为底(禁止以其他任何底数或以科学计数法输出)。 允许输出带有尾部/前导空格的数字。 这是代码高尔夫球,因此每种语言中最短的(原始)代码胜出! 默认漏洞适用。 例 假设您的源代码为,ABC并且其对应的输出为4。如果我CBA改为编写并运行它,则输出必须为-4。

22
将针藏在干草堆中(警察)
这是警察和强盗挑战的一部分。去这里抢劫犯的一部分。 警察的挑战 您应该使用自己选择的语言编写程序或函数,该程序或函数将输出字符串Haystack。但是,必须有可能从程序中删除某些字符子集(而无需重新排序其余字符),以使生成的字符串也是使用相同语言的有效程序,而将其打印出来Needle。这两个程序/功能都可以选择打印一条尾随的换行符(彼此独立),但没有其他内容。输出区分大小写,并且必须遵循提供的确切大小写。 当然,您的目标是很好地隐藏“针”。但是请注意,可以使用任何有效的解决方案来破解提交的内容,而不仅仅是您想要的解决方案。 请在您的答案中包括: 您提交的语言(和相关版本)。 Haystack程序的大小(以字节为单位)。 Haystack程序本身。 如果不是STDOUT,则为输出方法。 如果可能,请提供指向您所选择语言的在线口译/编译器的链接。 您提交的内容可能是程序或功能,但不能是摘要,并且您不得采用REPL环境。您不得输入任何内容,而可以通过STDOUT,函数返回值或函数(输出)参数进行输出。 两种程序/功能都必须在合理的台式机上在5秒内完成,并且需要确定性。您不得使用内置函数进行散列,加密或随机数生成(即使您将随机数生成器植入固定值)。 为了公平起见,必须为您选择的语言提供免费的解释器或编译器。 如果找到Needle程序,答案将被破解。如果您的答案在7天内没有被破解,则可以在答案中显示预期的Needle程序,从而确保提交的内容安全。只要您不公开解决方案,即使7天已经过去,它也可能会被强盗破解。最短的安全 Haystack程序(以字节为单位)获胜。 例子 这是几个使用不同语言的简单示例: Ruby Haystack: puts 1>0?"Haystack":"Needle" Delete: XXXXXXXXXXXXXXX Needle: puts "Needle" Python 2 Haystack: print "kcatsyaHeldeeN"[-7::-1] Delete: XXXXXXXX XX Needle: print "eldeeN"[::-1] 请注意,已删除字符的子集不必是连续的。 完整的提交 <script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = …

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.