Questions tagged «source-layout»

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

9
建立一个扭曲的“ Hello world!”
您的工作很简单,编写一个可打印的程序Hello, world!,将其扭曲即可创建一个可打印的程序Twister!。 弦如何扭曲 扭曲算法非常简单。每列均按其索引向下移动(col 0下移0,col 1下移1,...)。列移位换行到顶部。看起来像这样: a ba cba ---- cba cb c 线下的所有内容都环绕到顶部。真实的例子: Original: \\\\\\\\\\\\ ............ ............ ............ Twisted: \...\...\... .\...\...\.. ..\...\...\. ...\...\...\ (其他示例和您喜欢的语言在这里) 计分 您的程序必须是填充矩形。这是代码高尔夫球,因此最低字节数为准! 规则 您的第一个程序必须打印Hello, world!。只允许一个尾随换行符。 您的第一个和第二个程序必须使用相同的语言。 您的第二个程序必须打印Twister!。只允许一个尾随换行符。 您的程序必须至少有2行2列。

19
反函数
如果编程功能可以像它们实现的数学功能一样反转,那不是很整洁吗? 编写一个函数(或程序),以x任何形式输入一个输入,然后输出ln(x)。 当对程序字节进行重新排序/反转,以便第一个字节现在是最后一个字节时,它应采用x任何形式的一个输入并e^x取而代之。 您的答案必须至少包含3个正确的有效数字。 近似值可以,只要它们具有至少3个正确的有效数字即可。 您的代码向前和向后都必须使用相同的编程语言。 假设这个程序实现了ln(x): abc你好 然后该程序必须实现e^x: \xBD\xA5\xE5\xA0\xBD\xE4cba 如果您使用的语言没有浮动支持,则为金星。 这是代码高尔夫球的一种怪异形式,因此最短的程序为准。

6
编写输出其镜像级别的程序
有95个可打印的ASCII字符: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 在Consolas字体(默认为Stack Exchange代码块)中,某些字符在垂直对称轴周围具有镜像: 这些字符对是彼此的镜像: () [] {} <> /\ 这些字符是它们自身的镜像:(! "'*+-.8:=AHIMOTUVWXY^_ovwx|请注意空格是一个。) 这些没有镜子: #$%&,012345679;?@BCDEFGJKLNPQRSZ`abcdefghijklmnpqrstuyz~ (i,l,0,#,,可能其他字符都是自己的镜子一些字体,但我们会坚持到索拉的形状。) 如果仅用39个镜像字符制成字符串,则该字符串就是其自身的镜像,其排列方式使该字符串具有中心垂直对称线。所以](A--A)[是自身的镜子,但](A--A(]并非如此。 编写一个单行的偶数程序,该程序是其自身的镜像。当它的左半部分的N个副本已被添加到它的前面,并且已将其右半部分的N个副本添加到它的后面时,它应输出N + 1。N是一个非负整数。 例如,如果程序为](A--A)[(左半部分:](A-,右半部分:)-A)[,则: 运行](A--A)[应该输出1。(N = 0) 运行](A-](A--A)[-A)[应该输出2。(N = 1) 运行](A-](A-](A--A)[-A)[-A)[应该输出3。(N = 2) 运行](A-](A-](A-](A--A)[-A)[-A)[-A)[应该输出4。(N = 3) 。。。 运行](A-](A-](A-](A-](A-](A-](A-](A-](A-](A--A)[-A)[-A)[-A)[-A)[-A)[-A)[-A)[-A)[-A)[应该输出10。(N = 9) 等等 规则 输出到标准输出或您的语言最接近的替代产品。可能会有一个可选的尾随换行符。请勿输入任何内容。 在给定足够的内存和计算能力的情况下,该过程理论上应适用于N达2 15 -1或更高。 需要完整的程序,而不仅仅是REPL命令。 最短的初始程序(N = 0,以字节为单位)获胜。

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 

8
甲壳虫的歌曲和六边形
编写两个三角形(即金字塔)形状的程序。 第一个应该是一个向上的文字三角形,其最小底边宽度为三个字符。所以它的结构像 X XXX 要么 X XXX XXXXX 要么 X XXX XXXXX XXXXXXX 或更大。每个都X将替换为实际代码中的字符,除了行终止符外,其他任何字符都可以(因此X可以为空格)。X必须将所有的都替换掉,并且需要保留有助于形成三角形的空格和换行符。 第二个程序必须具有与第一个程序相同的大小和形状,除了三角形将指向下方。 因此,如果您的第一个程序看起来像 X XXX XXXXX 然后你的第二个程序看起来像 yyyyy yyy y 每个y字符都是您需要在实际代码中填充的字符(可能与您的X代码不同)。空格和换行符在这里也必须保持不变。 您的任务是编写这些程序,以使它们各自输出(以stdout或最接近的替代音)甲壳虫乐队独特歌曲的标题,而不输入任何内容。这篇Wikipedia文章将作为我们披头士乐队的正式歌曲清单。输出应该是所列标题之一,例如I Want You (She's So Heavy)。 但是,即使有奇怪的三角形程序要求,这也很容易。因此,我们将从前两个程序组成另一个程序,该程序必须输出另一个歌曲名称。 通过组合两个三角形程序中每个程序的三个副本,我们可以创建形状像六边形的第三个程序。 如果您的第一个程序的基本宽度为3,则它将如下所示: XyyyX XXXyXXX yyyXyyy yXXXy 如果基本宽度为5,则它将如下所示: XyyyyyX XXXyyyXXX XXXXXyXXXXX yyyyyXyyyyy yyyXXXyyy yXXXXXy 该程序(与其他空格和换行符一起运行时)必须输出另一个甲壳虫乐队的歌曲标题,就像前两个程序一样。也: 您的三个程序必须输出不同的歌曲标题。 歌曲标题长度不得超过8个字符。 您只能选择之一Revolution,Revolution 1并且Revolution 9因为标题是如此相似。 …

24
加入片段的N个副本以产生N ^ 2个字符
挑战 编写尽可能短的代码段,以便将N个副本串联在一起时,输出的字符数为N 2。N将为正整数。 例如,如果代码段为soln();,则运行soln();将仅打印1个字符,运行soln();soln();将仅打印4个字符,运行soln();soln();soln();将仅打印9个字符,依此类推。 只要字符总数正确,输出中就可以包含任何字符。为了避免跨OS的混淆,\r\n换行符被视为一个字符。 程序可能无法读取其自身的源代码或读取其文件大小或使用其他此类漏洞。将此视为严格的奎因挑战。 输出可能会转到stdout或文件或类似的替代文件。没有输入。 代码中的注释很好,退出执行过程中也是如此。 程序中可能包含任何字符。以字节为单位的最短提交获胜。

13
盖革计数器
盖革计数器是一种用于检测辐射的设备。 我们将制作盖革计数器程序。 众所周知,当辐射撞击计算机程序时,它会随机删除1个字节。因此,Geiger计数器程序是一个本身不执行任何操作的程序,但是当删除任何字节时,修改后的程序将打印beep,以指示存在辐射。 答案将以字节计分,而字节数越少越好。答案必须至少为1个字节。 您的程序可以打印beep尾随换行符,也可以为空输出打印单个换行符,只要它始终如一。你的程序也可以使用不同的情况下beep,例如BEEP,bEEP或者Beep只要它这样做一致。

28
级联计数
你的挑战是写ň的代码片段,使得当你连接第一ķ ≥1在一起,他们生产的数量ķ。高N,越好。要注意的是:您在代码段中最多只能使用一个字符。 规则 您可以在一个(和一个)片段中多次使用同一字符。 这些代码段必须按照它们显示的顺序连接在一起,而不会跳过任何代码段。 您必须至少写两个片段。 所有摘录必须使用相同的语言。 请记住:代码片段不必是完整的程序或功能,也不必自己运行。-1是Java中的有效代码段,例如 所有产生的串联必须输出各自的K值。 获胜者是N值最高的人。决胜局是最短的整体节目长度,以字节为单位。 例 假设你的片段是AD,xc,123,和;l。然后: AD 应该产生 1 ADxc 应该产生 2 ADxc123 应该产生 3 并且ADxc123;l应该产生4。 该课程的分数为4。

30
聪明人的海市age楼
从前,我在阅读有关Quora的问题/答案 真的有没有计算机科学学位的程序员无法通过FizzBu​​zz测试 此代码是显而易见的答案 for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i 当然,FizzBu​​zz已经被打死了,但这并不是这个问题的实质。您会在评论中看到有人提到该答案很不错,因为很容易添加额外条件,例如将“ Jazz”打印为4的倍数。(我不同意。扩展此方案需要O(2 ** n )代码行。) 您的挑战是编写由同行判断的最漂亮的FizzJazzBuzz版本。 选民需要考虑的一些事项: 干 除法/模运算的效率 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

7
源代码变态
mbomb007要求我们编写一个自毁程序。这是一个有趣的挑战,但是我个人不喜欢鼓励自己的程序自残。我喜欢认为,每个程序的核心都是一只等待爆发的美丽蝴蝶。 因此,对于我的第一个Code Golf挑战,我挑战Stack Exchange将蝴蝶变身。您的程序应接受自己的代码作为输入和输出,I am a caterpillar!然后接受相同语言的另一个程序的代码(您可以在输出之间添加一个分隔符,但是我们说的是蝴蝶,所以漂亮才算重要!)。第二个程序应该输出I am a beautiful butterfly! 变形:该程序应自行修改,这就是为什么将其本身作为输入传递的原因。我不想一个无聊的嵌套程序,只不过是一个打印语句,I am a caterpillar!然后打印源代码。您必须使代码本身变形,因此,最无聊的可接受答案是将其打印出来I am a caterpillar,然后从输入中截取一个字符串(恰好是代码)并将其打印出来。当然,这是一个非常棘手的小要求,因此应将其视为“挑战的精神”。正式的要求将设置为“如果给您的程序一个与程序长度相同的随机字符串,则在I am a butterfly运行第二个程序时,打印的机会应该少于5%。” 摘要: 编写一个程序,当提供自己的代码作为输入时,先打印程序,I am a caterpillar!然后打印源代码块(在它们之间是否有定界符)。 编译/解释为相同语言时,第二部分源代码将输出 I am a beautiful butterfly! 如果您的程序没有以其自身的源代码作为输入,而是被赋予一个随机字符串,该字符串与自身的代码不匹配,则结果必须无法编译/解释,或者必须I am a butterfly!至少打印95%的随机字符字符串(精神:您应该从输入中读取您自己的源代码,并将其拼接成蝴蝶状)。 只要您坚持变形概念的精神,修改自己的代码,我对您不感到满意,但是如果您尝试玩漏洞游戏来解决输入问题,证明这一点。 适用标准漏洞 我希望通过它们的美观来判断它们,但这是绝对非量化的方法,因此可以使用通常的“字节数”路由来判断 奖励:-20%-选择与程序的前3个字母不匹配的任何3个字母字符串。如果运行卡特彼勒程序,但修改输入,以便将前3个字符更改为指定的字符,请打印I am Batman!。永远是蝙蝠侠。(相同的随机字符串规则也适用于此……变态!) 简单示例(python): """ print "I am a beautiful butterfly!" …

18
站在长长的奎因线旁
或:建立垂直的麦片 受到启发站在长排线上。 您的任务是构建一个垂直的quine,并使其线长度尽可能短。 计分 最短的行长(不包括换行符)获胜,同时使用代码高尔夫标准作为决胜局。 行长确定为程序中最长的行,不包括换行符。 例如: $_= Q. P 行长为3,字节数为8,而: Q $ _ P 行长为1,字节数为7(假设没有尾随换行符)。 规则 提篮必须符合提篮的社区定义。 禁止出现标准漏洞。

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 

29
编写您喜欢的短语
选择一个正好5个字长的引号或词组,例如Programming puzzles and code golf!。 编写一个程序,将其附加n次后,依次输出该短语的前n + 1个单词。 例如,如果您的程序代码为,MYPROG而短语为Programming puzzles and code golf!,则正在运行... MYPROG 应该输出 Programming MYPROGMYPROG 应该输出 Programming puzzles MYPROGMYPROGMYPROG 应该输出 Programming puzzles and MYPROGMYPROGMYPROGMYPROG 应该输出 Programming puzzles and code MYPROGMYPROGMYPROGMYPROGMYPROG 应该输出 Programming puzzles and code golf! 超过4次是不确定的,您的程序可以执行任何操作。 规则 您的短语必须是语法有意义的英语。理想情况下,应适当大写并标点符号。 你的短语可以是任意长度,但它的熵,通过计算公式http://www.shannonentropy.netmark.pl/,可能不小于3.5。 (粘贴您的短语,点击“ 计算”并寻找最后一个H(X)。) 您的词组只能包含可打印的ASCII字符(20到7E十六进制)。您的代码只能包含可打印的ASCII以及制表符和换行符。 您的词组必须恰好包含5个唯一词和4个空格。所有非空格都算作单词的一部分。空格是单词边界。他们可能不在前面或后面;除了最后的话,应该还有一个。 输出也应在单词之间包含一个空格。每个附加步骤的输出可能包含尾随空格,但不包含前导空格。 输出到标准输出。没有输入。 计分 分数是初始未附加程序的字节长度。(例如,MYPROG得分6) …

2
关于奎因
受超编程启发:N + N,N×N,N ^ N合而为一。 感谢@MartinEnder和@trichoplax在沙箱中的帮助。 定义 超喹 将阶数为n的超quine 定义为类似于 quine的完整程序或函数P ,该程序或函数P满足适用于适当quines的所有规则,并且具有以下结构。 P是由相同字符的n个副本组成的字符‡组的串联。当执行P时,输出是相同组的串联,再增加一个字符副本。 例子 在源代码aabbcc生成输出的假设编程语言中aaabbbccc,此程序构成2阶的超喹。 该定义并没有要求不同群体的特点是不同的。 如果源代码aabbcc生成输出aaaabbbbcccc,则该程序是1阶的超喹啉; 源代码包含六个单字符组,六个字符对的输出。 在GS2中,将打印空程序\n,然后\n打印程序\n\n。但是,\n也不\n\n是超级喹,因为它们不能满足适当喹的所有特性。源代码的任何部分都不会编码输出的不同部分。 超喹链 将长度为n的超链链定义为满足以下约束的n个完整程序或n个函数(P 1,…,P n)的有限序列。 的输出P 1,...,P N-1是P 2,...,P Ñ,分别。 P 1,…,P n是超喹。 的订单P 1,...,P Ñ形成严格递增的顺序相邻的整数。 最后,将无限个超喹链定义为完整程序或函数(P 1,P 2,...)的无限序列,以使每个初始间隔(P 1,…,P n)构成长度为n的超喹链。 例子 在一种假设的编程语言中,其中的源代码aabbcc生成输出aaabbbccc,然后生成输出aaaabbbbcccc,该对(aabbcc,aaabbbccc)构成长度为2的超喹链。 请注意,aaaabbbbcccc–链中最后一个hyperquine的输出–不必产生特定的输出;它甚至不必是有效的源代码。 继续前面的例子,如果aaaabbbbcccc生成输出aaaaabbbbbccccc,三重态(aabbcc,aaabbbccc,aaaabbbbcccc)构成长度的hyperquine链3。 如果这种模式继续永远,序列(aabbcc,aaabbbccc,aaaabbbbcccc,...)构成的无限hyperquine链。 在对程序(abc,aabbcc与输出)( ,aabbcc)aaaabbbbcccc是不一个hyperquine链,由于hyperquines的命令都是1,所以它们不形成一个严格递增顺序。 在对程序(aabbcc,aaaabbbbcccc与输出)( ,aaaabbbbcccc)aaaaabbbbbccccc是不一个hyperquine链,由于hyperquines的顺序是1和4,所以它们不形成相邻的整数的序列。 规则 任务 …

3
创建旋转的奎因
通过将字符串分成两部分并颠倒其顺序来进行字符串"world! Hello,"的旋转,例如的旋转"Hello, world!"。可以创建可以旋转以形成其他但仍然有效的程序的程序。考虑一下python中的这个示例: print ")import sys; sys.stdout.write(" 可以旋转形成 import sys; sys.stdout.write("print ") 这本身就是有效的python程序。 您面临的挑战是编写一个输出自身旋转的程序,该程序在运行时将输出原始程序。奖励指向周期长度大于2的任何条目! 这是代码高尔夫,准确的得分将是:(代码长度)/(循环长度-1)。 编辑:我们有一个赢家(除非其他人能打出4分)!我仍然非常有兴趣看到其他解决方案,无论它们是否在竞争。

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.