Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

2
重叠线序
(灵感来自在干擦板上绘图) 挑战: 给定一个包含表示白板上不同颜色的干擦标记的字符的输入字符串,请从头到尾输出它们绘制的顺序。 输入: 一个包含以字母表示的干擦标记颜色的字符串(大写字母与小写字母不同,只要每种颜色都有不同的字母,您就可以替换示例中使用的任何字符)。白板的其余部分将为空白。每块板上每种颜色只有一行。所有行都不会重叠的输入(请参见测试用例4)。所有线条都是直线,可以是水平的也可以是垂直的。 输出: 从第一个到最后一个在板上画线的顺序。如果任何输入有多种解决方案,则可以输出其中任何一种。您可以按照自己喜欢的方式设置输出的格式:单个字符串或由空格,换行符等分隔,只要使用的字符与输入中使用的字符匹配即可。 测试用例: 输入1: R R BBRBB R 输出1: BR 输入2: GY GY RRRRGYRRR GY GY BBBBBBBB GY GY 输出2: RGYB // or RYGB 输入3: R P R P AAAARAAAAPA R P R P GGGGRGGG P R 输出3: AGPR // or APGR 输入4: O Y …
17 code-golf  string 

4
2D交通堵塞
该比哈姆-米德尔顿-莱文流量模型是一个自组织的细胞自动机模型简化流量。 它由许多汽车组成,这些汽车由具有随机起始位置的点阵上的点表示,其中每辆汽车可能是以下两种类型之一:仅向下移动的汽车(在本文中显示为蓝色),以及仅向下方移动的汽车右(在本文中显示为红色)。两种类型的汽车轮流行驶。在每一转弯期间,如果相应类型的所有汽车都没有被另一辆汽车挡住,则它们前进一个步骤。 您的任务是将该模型可视化为动画。这是一些很好的示范。 输入项 0到1之间的浮点数表示密度,而两个整数表示所显示的网格高度和宽度。假设输入是有效的,并且函数的参数或从用户输入读取的参数都很好。 示例:(0.38 144 89对应于上图) 输出量 至少80x80的网格显示正在运行的模型的动画。开始时,将汽车随机放置在网格上,直到网格达到输入密度,其中一半为红色,另一半为蓝色(即密度乘以网格正方形的总数,但可以四舍五入)。密度必须是此值,这意味着您不能以密度填充每个像元。对于每一步,一种类型的汽车要么向下移动要么向右移动,如果它们越过边缘则环绕。移动的汽车类型交替出现。为了使动画可见,每个步骤之间必须至少有10毫秒。 规则 这些汽车可以是任何颜色或符号,只要它们可以与背景和背景区分开即可,并且每种汽车类型都是相同的颜色或符号。 都允许控制台和图形输出。对于控制台输出,任何可打印的符号都可以,但是输出必须为字符网格。 如果没有屏幕截图或gif,请指定产生的输出类型。 模拟必须永远运行。 输出有点复杂,因此如果您有任何疑问,请发表评论。

15
计算欧拉数
的欧拉数 A(n, m)是排列的数量[1, 2, ..., n]精确地在其中m元件是比以前的元件大。这些也称为上升。例如,如果,则为n = 33!= 6个排列[1, 2, 3] 1 2 3 < < 2 elements are greater than the previous 1 3 2 < > 1 ... 2 1 3 > < 1 ... 2 3 1 < > 1 ... 3 1 2 > < 1 …

9
马尔可夫链奎因
这个问题将使用一个简单的马尔可夫模型。有关马尔可夫链的更多信息,请参见http://setosa.io/ev/markov-chains/。 拿一根绳子。在此示例中,我们将使用以下单词: reader 现在,对于每个字符,取字符串中每次出现该字符后出现的字符。(​`^`​代表字符串的开始并​`$`​代表结束) `^` -> {'r'} # After the start of the string, there is an `r`. 'r' -> {'e', `$`} # After the first `r` (*r*eader), there is an `e` # after the second (reade*r*), there is the end of the string. 'e' -> {'a', 'r'} 'a' -> …

25
产品目录
这个问题是关于将代表产品标识符的字符串分成三个部分。 第一部分由任意长度的上下字母组成,代表仓库。 第二部分是代表产品编号的数字。这部分也是任意长度的。 最后一部分是大小和颜色的限定词,该部分一直持续到字符串的末尾。限定词保证以大写字母开头,并由字母数字字符组成。 每个部分应打印清晰分开。保证每个部分都是非空的。 获胜者是使用最少字节来解决此问题的人。 示例: 输入: UK7898S14 输出: UK 7898 S14 在这里英国是英国,产品代码是7898,而S14是尺寸14。 示例2: 输入: cphDK1234CYELLOWS14QGOOD 输出: cphDK 1234 CYELLOWS14QGOOD 这里的cphDK是丹麦的哥本哈根,产品代码是1234,CYELLOWS14QGOOD表示黄色,大小14,质量很好。
17 code-golf  string 

24
交替斐波那契
在交替的斐波那契数列中,您首先像往常一样从1和开始1。 但是,您不必总是将最后两个值相加以获得下一个数字,而是从加法开始,每隔一次减去就代替。 序列开始如下: 1 1 2 # 1 + 1 -1 # 1 - 2 1 # 2 + -1 -2 # -1 - 1 -1 # 1 + -2 -1 # -2 - -1 -2 # -1 + -1 1 # -1 - -2 -1 # -2 + 1 …

24
阵列的反增量
阵列的反增量 给定一个带符号的32位整数数组,您的任务是使用其反增量重新编译它。例如清单 1 3 4 2 8 包含增量: 2 1 -2 6 然后取反,得到: -2 -1 2 -6 并重新编译,产生: 1 -1 -2 0 -6 作为最终结果。 输入输出 您将得到一个列表/数组/表/元组/堆栈/等。通过任何标准输入法输入的带符号整数的数量。 您必须按照上述增量反转方法,以任何可接受的形式再次输出修改后的数据。 您将收到N个输入,0 < N < 10其中每个数字都在该范围内-1000 < X < 1000 测试用例 5 6 7 8 -> 5 4 3 2 1 3 4 2 …

3
到包含子串的回文的最小汉明距离
这是受一个现已删除的CS.SE问题启发的。 任务 给定两个非空输入字符串A和B,输出从A到包含B作为子字符串的回文的最小距离。距离由字符替换的数量(汉明距离)定义。 限制条件 明智的输入:存在回文。这意味着| A | ≥| B |。 A和B仅包含小写ASCII字符,小写和大写字母是不同的(其他所有字符也一样)。 如果您的语言无法处理ASCII字符,则也可以使用整数(或其他一些合理的数据类型),并且可以选择将范围限制为128个元素。 您可以从标准输入,函数参数,命令行参数等中获取输入。 您可以在标准输出,返回值等上给出结果。 您不需要给出工作回文,到一个最小的距离就足够了。 例子 A B Output thilloaoyreot hello 4 (thelloaolleht) benjonson stack 9 (stackcats) neversaynever! odd 9 (neveroddoreven) ppcggcpp gg 0 (ppcggcpp) stars tat 1 (stats) 计分 这是代码高尔夫,以字节为单位的最短代码获胜。

15
字母替换挑战
这个想法很简单。您必须通过提供3个字符串(输入可以用逗号分隔,单独的输入或作为数组)来创建“可视化”字母替换。第一部分是您要纠正的单词,第二部分是您想要替换的字母,第三部分是第二部分中字母的替换。 例如: | | Input | Starting Word | Output | |----|-----------------------------|---------------|-------------| | #1 | Hello world -wo -ld +Ea +th | Hello world | Hello Earth | | #2 | Hello World -wo -ld +Ea +th | Hello World | Hello Worth | | #3 | Hello -llo +y …
17 code-golf  string 

6
一cube文字݀
上次您制作了一个正方形的文本,但是现在,您可以制作一个立方体的文本了吗? 挑战 给定一个字符串,以多维数据集的形式输出该字符串。 您可以假定该字符串将始终具有2个字符或更多,并且仅具有可打印的ascii字符。 如何制作文字方块 测试用例 Input: Test Output: Test e ss s e e tseT T s e e e ss Test Input: Hello, world! Output: Hello, world! e dd l l l l r r o o o , w w w , , o o o r …

13
逆排列索引
介绍 具有n个元素的列表的字典排列可以从0到n编号!-1.例如3!= 6个置换(1,2,3)将是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)。 将排列应用于列表时,其元素的排列顺序与排列中的数字相同。例如,将置换(2,3,1)应用于l = (a,b,c)yield (l[2],l[3],l[1]) = (b,c,a)。 排列的逆定义为颠倒此操作的排列,即应用排列,然后其逆(反之亦然)不会修改数组。例如,(2,3,1)is 的逆(3,1,2),因为将其应用于(b,c,a)yields (a,b,c)。 同样,应用于排列本身的排列的逆值会产生整数1… n。例如,应用(3,1,2)到(2,3,1)产率(1,2,3)。 现在,我们将函数revind(x)定义为索引为x的排列的逆排列的索引。(如果您有兴趣,这是A056019。) 由于与指数置换我只修改了最后ķ列表中的项目当且仅当 0≤ 我 < ķ!,我们可以添加任意数量的元素到列表的开始,而不会影响revind(我)。因此,列表的长度不影响结果。 挑战 您的任务是实现revind(x)。您将编写一个完整的程序或函数,以单个非负整数x作为输入/参数,并以单个非负整数输出/返回结果。 输入和输出可以是0索引或1索引,但是它们之间必须保持一致。 禁止按索引生成排列,返回排列的索引或找到逆排列的内建函数。(允许生成所有排列或下一个排列的构建体。) 适用标准代码高尔夫球规则。 例子 下面的示例是0索引的。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

12
尺寸倒计时
编写一个函数f(n,k),显示从n开始的k维倒数。 从5开始的一维倒数看起来像 54321 从5开始的二维倒数如下 54321 4321 321 21 1 最后,从5开始的3维倒数如下 54321 4321 321 21 1 4321 321 21 1 321 21 1 21 1 1 正式定义 从任何n开始的一维倒数是一行,数字n,n-1,...,1连接在一起(后跟换行符)。 对于任何k,从1开始的k维倒数是单行 1 对于n> 1和k> 1,从n开始的k维倒数是从n开始的(k-1)维倒数,然后是从n-1开始的k维倒数。 输入项 您选择的任何格式的两个正整数k和n <= 9。 输出量 从n开始的k维倒数,每个1维倒数后都有换行符。输出中允许额外的换行符。 计分 标准高尔夫得分。 奖金示例 这是一个示例,其中k> n,是从3开始的4维倒数(带有多余的注释,这些注释不包含在实际解决方案中): -- 3-dimensional countdown from 3 321 21 …
17 code-golf  string 

3
用绳子带领你的乌龟
编写一个程序或函数,该程序或函数采用非空单行字符串,该字符串包含可打印的ascii字符(不包括空格): !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 您可以假设输入有效。 根据输入,按照乌龟图形-像这样的规则,在乌龟始终占据一个栅格空间并且只能面对基本方向的情况下,在文本空间和换行符的文本网格上绘制新的字符串。 将输入字符串中的第一个字符打印到文本网格中。乌龟从这里开始朝右。遍历输入字符串中的其余字符(仅在乌龟被卡住时才停止),重复此过程: 如果与海龟直接相邻的4个网格空间都被填充了(即它们都不是一个空间),请停止迭代。乌龟被卡住,网格已尽可能完整。 查看输入中的当前字符与前一个字符的比较: 如果当前角色在词汇上比前一个更早,将乌龟向左旋转四分之一圈。 如果当前角色在词汇上在前一个之后,则将乌龟向右旋转四分之一圈。 如果当前角色与前一个角色相同,请不要旋转乌龟。 如果乌龟现在面对的网格空间不为空(即不是一个空间),请反复将乌龟向左旋转四分之一圈,直到乌龟面对一个空的网格空间。 将乌龟朝着她所面对的方向向前移动一个格,并在乌龟的新位置将当前角色打印在格上。 打印或返回结果文本网格字符串,没有多余的行或列的空白。行的行尾空格可以一直到最右边的列,且不能有空格,但不能超过。可选地允许单条尾随换行符。 以字节为单位的最短代码获胜。 例 这是输入的所有步骤spattuuxze。所述^V<>字符显示龟面对的方向,他们是不输入或输出的一部分。 s> ^ p s <ap s ^ t ap s ^ t t ap s tu> t ap s tuu> t ap s tuu t x apV s tuu <zx ap s 此时,乌龟被卡住了,所以e永不打印,最终输出为: tuu …
17 code-golf  string  grid 

12
沃兹监视器
挑战 最近,我进入了8位计算机,并对它们以及其他方法的工作着迷。因此,此代码高尔夫的目标是复制由Steve Wozniak为Apple I设计的Woz Monitor的一部分。 您将存储一个22个十六进制值的数组,其宽度为两个字节(最小值$ 10,最大值$ FF),然后接受n个输入。(通常是两种;像Brainfuck这样的语言可能会遇到困难)。 输入将指向数组中从哪里开始打印以及从哪里停止打印;具有定义行为的输入的起始值将小于或等于终止值。然后,您的程序必须能够打印输入的十六进制之间(包括该十六进制)的每个十六进制值。 一个例子: Array 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 Values FF F4 B6 D7 40 00 00 A4 F0 00 FF 0D 9C 21 65 C4 …

21
从15个字符的字母生成6个字符串
在我们正在进行的一个项目中,我们最近发现了一种特别大的方法,可以从15个字符的字母生成6个字符串。我们中的一些人声称“我敢打赌我们可以一站式得到”,这开始了一些代码高尔夫的内部游戏。 您的任务是击败我们,我毫不怀疑会花很长时间! 原始算法使用字母0-9A-E,但是我们已经尝试了其他字母。因此,存在三个子任务。 生成6从任意硬编码15字符字母(例如)中随机选择的字符串ABC123!@TPOI098。(这只是一个示例,应该可以自定义而不影响字节数。) 生成6从15字符字母中随机选择的字符串0123456789ABCDE。 6从15您选择的字符字母中随机生成一个字符串(请仅打印字符)。 每个角色都应该有相等的选择机会,并且应该可以重复。 我们能够为每个子任务管理的最好的是: “ ABC123!@ TPOI098”- 24 bytes “ 0123456789ABCDE”- 21 bytes 自定义字母- 13 bytes 您的分数是每个子任务解决方案中字节的总和。即我们的分数目前是58。 我们尝试过使用CJam和Ruby。原来是C#。使用您喜欢的任何语言,但我们将特别关注这些语言的解决方案

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.