编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

16
绘制文本的对角线
给定单词列表的输入,输出单词,其字母对角排列: p r o p g u r z a a z m n l m d e i c s n o g d g e o l f (以上应该是输入的输出programming puzzles and code golf。) 准确地说,每个单词都从第一列开始,在前一个单词的下方三行,并且每个连续的字母向右移动一列,向下移动一列。 输入可以提供为单个字符串,由精确的一个空格分隔,也可以提供单词的列表/数组。单词将仅由小写字母组成a-z,并且始终至少一个字符长。 输出可以是单个字符串,行的数组或字符数组的数组。除单个尾随换行符外,不允许前导或尾随空格。 进一步的测试案例: a bcd efgh i j a b c d e f …
46 code-golf  string 

30
现在我知道了我的ABC,您会不会和我一起打高尔夫球?
编写一个程序或函数,输出不区分大小写的确切文本: A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z. (基于许多美国孩子学习的字母歌曲,尽管对其进行了编辑以提高可压缩性,但它们仍有助于记忆该字母。) 输出必须看起来完全相同上述(再次,不区分大小写),但也可以包含在每一行和/或后换行符尾随空格。注意最后的句点。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。

19
吃豆人可以吃这串吗?
在游戏的街机版本中,吃豆人吃豆点。但是,在这个挑战中,他渴望字符串中的字母数字字符和标点符号。 您的任务是创建一个函数,该函数为吃豆人提供一个字符串,评估他是否可以吃它,然后返回其中包含吃豆人位置的字符串。 吃豆人(<)从左到右吃字符,每个字符在走时都留下下划线或空格,他的目标是从第一个位置1到最后一个位置+1: 1. <Pac 2. _<ac 3. __<c 4. ___< 但是,如果吃豆人的天敌幽灵将阻止他,如果他遇到单词“ GHOST”(不区分大小写)中的一个字母。您的函数在遇到ghost字符时应返回吃豆人所在位置的字符串: 1. <No! 2. _<o! 唯一可以击败幽灵的东西就是力量药丸。如果吃豆人在遇到鬼魂之前到达单词“ PELLET”(也不区分大小写)中的字母,他将吃掉鬼魂并继续移动,该小球将被耗尽。强力药丸可以堆叠(即,ppgg两个鬼魂都会被吃掉)。所述Ť字符存在既作为重影和小球,因此它可以忽略不计(如任何其他信处理,等a)。 1. <Pop 2. _<op 3. __<p 4. ___< 为了进一步说明,在字符串“吃豆人在这里输”中,发生以下操作: P <P, +1 Pellet (1 pellet) a <a c <c - <- M <M a <a n <n <[space] l <l, +1 …

15
电子在电线上弹跳
想象一下有n空间的“电线” 。进一步想象一下,该导线中存在“电子”。这些电子仅生存一个时间单位。导线中恰好与一个电子相邻的任何空间都将成为电子。在“生活游戏”术语中,这是B1/S。 例如,这是长度为10且周期为62的导线。 规则 输入,n是一个正整数。 输出必须是一个整数,表示长度为n的导线的周期。 起始状态是导线一端的单个电子。 该时间段不必包括开始状态。有些长度永远不会返回到起始状态,但是它们都是周期性的。 静态导线(即没有电子的导线)的周期为1。 边界条件不是周期性的。也就是说,电线绝不是环形的。 测试用例 特别感谢orlp制作了此列表。(我已经验证到n = 27。) 1 1 2 2 3 1 4 6 5 4 6 14 7 1 8 14 9 12 10 62 11 8 12 126 13 28 14 30 15 1 16 30 17 28 18 1022 …

16
旋转点
引言 2×n布尔矩阵可以表示为四个字符的字符串. ':。该字符串有一个“上排”和一个“下排”,点代表1,空白代表0。例如2×6矩阵 1 0 1 0 0 1 0 0 0 1 0 1 可以表示为' '. :。您的任务是采用这种“压缩形式”的矩阵,并像传送带一样将其入口顺时针旋转一步。 输入项 您的输入是字符上的单个字符串. ':。它的长度保证至少为2。 输出量 您的输出应为输入字符串,但每个点均沿顺时针方向旋转一步。更明确地说,除了最右边的行向下移动之外,最上面一行的点向右多一个位置。除最左端的点向上移动外,下一行的点向左移动一级。特别是,输出字符串必须与原始字符串具有相同的长度,并且空格很重要。 例 考虑输入字符串:..:'.,它对应于2×6矩阵 1 0 0 1 1 0 1 1 1 1 0 1 该矩阵的旋转版本为 1 1 0 0 1 1 1 1 1 0 1 0 …
46 code-golf  string 

26
翻译oOo代码
给定以oOo CODE编写的程序的输入,输出它表示的BF代码。 这是oOo CODE的工作方式的简短描述: 首先,所有非字母字符都将被删除(所有不在此范围内的字符 A-Za-z)。 例如,使用该程序PROgRam reVERsES giVeN iNPut sEqUENcE(esolangs Wiki页面上给出的示例完全可以实现您的期望)。第一步之后,我们现在有了 PROgRamreVERsESgiVeNiNPutsEqUENcE。 接下来,将所有剩余字符分成3组。现在有了 PRO,gRa,mre,VER,sES,giV,eNi,NPu,tsE,qUE,NcE。如果尾部有1个或2个字符,则将其丢弃。 根据下表将每组3个字母转换为BF命令: ooo > ooO < oOo [ oOO ] Ooo - OoO + OOo . OOO , 也就是说,如果组中的第一个字母是小写字母,第二个字母是大写字母,第三个字母是小写字母,它将转换为command [。 在我们的示例中,该程序最终成为BF程序,[>,]<[.<]+,该程序的确撤消了其输入。 因为这是code-golf,所以以字节为单位的最短代码将获胜。 测试用例: <empty string> -> <empty string> A -> <empty string> Ab -> <empty string> …

17
果冻高尔夫技巧
果冻是我们自己的丹尼斯(Dennis)提出的一种针对高尔夫的隐性编程语言。通过使用自己的代码页和强大的链接系统来简洁地表达程序,它在这里的答案越来越频繁地出现,击败了其他高尔夫类语言,例如Pyth和CJam 。 让我们收集一些在果冻打高尔夫球的有用技巧。(一如既往,请给每个答案一个提示!)
46 code-golf  tips  jelly 

19
杠杆模拟器2015
为什么是模拟器? 这些天,孩子们没有时间也没有野心去实际堆放跷跷板上的盒子或玩耍平衡物体。根据我的模型,这为软件杠杆市场留出了很大的空间,根据我的模型,这将疯狂地出售! 想要编程帮助 我已经为此类游戏申请了专利(正在申请中),但需要专业的程序员来为我编写游戏逻辑。根据我的理解,根据最终程序的字节大小补偿程序员是一种标准做法。因此,我将把这份有利可图的合同授予出价最低的人。 规格 杠杆是一系列由支点平衡的盒子或空白区域。每个盒子的重量从1到9,空格没有重量。如您所知,盒子在杠杆上的重量与盒子离支点的距离成正比。一个4位于支点第三空间的重物盒将向12杠杆的那一侧施加有效的力单位。 我需要一个程序,给定一个输入杆,该程序将输出该杆是向左,向右倾斜还是完全平衡。 I / O准则 您将为我编写一个程序。 输入将包含一行文本。 输入将来自stdin或作为一个命令行字符串。 框将由字符“ 1”至“ 9”表示。这些字符代表各自的权重。空的空格将由空格' '表示。支点将以尖号' ^'表示。 样本输入杆可能类似于: 8 2^ 941 该杠杆是完美平衡的: (4*8) + 0 + 0 + (1*2) == 0 + (2*9) + (3*4) + (4*1) == 34 不会有前导或尾随空格。不会有尾随换行符。 无需处理格式错误的输入,输入将始终仅具有一个支点,并且只有数字和空格。 输出将指示杠杆是左重,右重还是平衡。 您的程序必须完全有3个可能由格式正确的输入产生的输出。您可以选择这些。 输出必须打印到程序stdout或作为程序的返回码。 测试用例 这里我用L,R,B是指左重,权重,平衡: 输入:11 ^9输出:B 输入:321^ …

10
字形字符串
编写一个程序(或函数),该程序接受任何可打印ASCII字符的非空字符串。 打印(或返回)字符串中的字符的锯齿形链,每个相邻的字符对通过以下方式链接: /如果第一个字符以正常ASCII顺序出现在第二个字符之前。例如 B / A \如果第一个字符以正常ASCII顺序出现在第二个字符之后。例如 B \ A -如果第一个和第二个字符相同。例如 A-A 因此,输出Programming Puzzles & Code Golf将是 o / \ r z-z o e G l / \ / \ / \ / \ / \ P o r m-m n u l s & C d f \ / …
46 code-golf  string 

2
扩展OEIS:计算钻石平铺
我保证,这将是我关于diamong拼贴的最后一个挑战(不管怎么说,还是一段时间)。从好的方面来说,这一挑战与ASCII艺术没有任何关系,而且也不是编码竞赛,因此实际上是完全不同的。 提醒一下,每个六角形都可以用三个不同的菱形来命名: 一个有趣的问题是,对于给定的六边形尺寸,这些平铺中存在多少个。似乎已经对这些数字进行了相当彻底的研究,可以在OEIS A008793中找到它们。 但是,如果我们问到旋转和反射之前存在多少个平铺,问题就会变得棘手。例如,对于边长N = 2,存在以下20个拼接: ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ /\_\_\ /\_\_\ /\_\_\ /\_\_\ /_/\_\ /_/\_\ /\_\_\ /_/\_\ /_/\_\ /_/\_\ /\/\_\_\ /\/_/\_\ /\/_/_/\ /\/_/\_\ /\_\/\_\ /\_\/_/\ /\/_/_/\ /\_\/\_\ /\_\/_/\ /_/\/\_\ \/\/_/_/ \/\_\/_/ \/\_\_\/ \/_/\/_/ \/\_\/_/ \/\_\_\/ \/_/\_\/ \/_/\/_/ \/_/\_\/ \_\/\/_/ \/_/_/ \/_/_/ \/_/_/ …

30
元素名称高于118
IUPAC用他们无法忍受的智慧为任何新创建的元素创建了一个系统的元素名称。这是元素的临时名称,直到他们最终决定使用实际名称。它的工作方式如下:元素编号的每个数字都根据其值分配一个前缀。前缀末尾带有“ ium”。完成此操作后,如果您得到双倍i(ii)或三倍n(nnn),则将它们替换为单个i和双倍n。元素的符号是串联使用的每个前缀的首字母,并将结果大写。使用的前缀如下。 0 nil 5 pent 1 un 6 hex 2 bi 7 sept 3 tri 8 oct 4 quad 9 enn 因此,对于这种高尔夫运动,您的代码需要为给定的正整数生成元素名称及其符号。因此,如果给定的代码为137,则应将其打印到stdout或同时返回untriseptium和Uts。它的有效期至少应为118到558。如果不增加代码长度,则更高的值是有效的。 显示该方法的Python示例: def elename(n): '''Return name and symbol of new element for given element number.''' prefixes=['nil','un','bi','tri','quad','pent','hex','sept','oct','enn'] nmeFixes, symFixes = [], [] while n: # each digit of element …

30
指针,指针,指针!
介绍 在某些语言(例如Java)的错误输出中,显示了一个指针,使程序员可以准确了解错误的出处。 就拿这个例子上Ideone: Main.java:12: error: ';' expected Invalid Java! ^ 注意插入符号显示无效代码在哪里? 挑战 您的挑战是:给定数字N和字符串S,将指针放在S中的第N个字符上。 例子 输入:2, "Lorem ipsum, dollar sit amet." 输出: Lorem ipsum, dollar sit amet. ^ 规则 通过STDIN或功能参数接收输入 输出输出到控制台或returned 输出中允许尾随新行,空格等 指针字符必须是^插入号,并且必须在换行符上。 这是代码高尔夫,所以最短的答案会获胜。祝好运!
46 code-golf 

30
假字幕文本
在此挑战中,伪字幕文本是以滚动方式逐部分显示的文本。 一些例子: testing 4 t te tes test esti stin ting ing ng g hello 2 h he el ll lo o foobarz 3 f fo foo oob oba bar arz rz z Something a bit longer 10 S So Som Some Somet Someth Somethi Somethin Something Something omething a …
46 code-golf  string 

24
佩斯高尔夫技巧
Pyth是一种由Python启发的过程编程语言,由PPCG用户isaacg创建。 您在Pyth打高尔夫球有哪些一般秘诀?我正在寻找可以应用于编码高尔夫球问题的想法,这些想法至少在某些方面是Pyth特有的。 请给每个答案一个提示。
46 code-golf  tips  pyth 

21
画出魔鬼的楼梯
在恶魔的楼梯是一个分形样相关Cantor集功能。 您的任务是复制这个时髦的功能-以ASCII艺术形式! 输入项 一个整数n >= 0,指示输出的大小。输入可以通过STDIN,函数参数或命令行参数给出。 输出量 魔鬼楼梯的ASCII艺术形式,大小为n,可作为字符串返回或打印到STDOUT。每行末尾的尾随空格都可以,但前导空格不行。您可以选择打印单个尾随换行符。 对于size 0,输出仅为: x (如果愿意,可以使用空格以外的任何其他可打印ASCII字符代替x。) 对于大小n > 0,我们: 取大小的输出n-1并将每行拉伸三倍 单行x的行之间的波纹 向右移动各行,以便x每列正好有一行,并且第一x行的位置最小,而随行减少 例如,输出为n = 1: x xxx x 为了获得的输出n = 2,我们将每行拉伸三倍: xxx xxxxxxxxx xxx 单身行之间的波纹x: x xxx x xxxxxxxxx x xxx x 向右移动: x xxx x xxxxxxxxx x xxx x 再举一个例子,这里是n = 3。 计分 …

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.