Questions tagged «code-golf»

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

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 

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。 计分 …

30
摇滚全天候
使用尽可能少的Unicode字符,打印以下内容(144个字符): 1, 2, 3 o'clock, 4 o'clock rock, 5, 6, 7 o'clock, 8 o'clock rock, 9, 10, 11 o'clock, 12 o'clock rock, We're gonna rock around the clock tonight. 除之外,您不得在代码中使用任何数字1。

30
回答生命,宇宙和一切
任务 给定一个String作为输入,您的任务是42 仅在输入String恰好符合以下条件时才输出: abbcccddddeeeeeffffffggggggghhhhhhhhiiiiiiiiijjjjjjjjjjkkkkkkkkkkkllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnnoooooooooooooooppppppppppppppppqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrsssssssssssssssssssttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzz 如果输入不等于上述字符串,则它可能会输出任何其他值,产生错误或完全不输出。 获胜标准 这是代码高尔夫球,因此以字节为单位的最短代码胜出!
46 code-golf  string 

12
麻省理工学院的教授可以读懂思想!
该任务摘自Devadas教授在麻省理工学院的一次演讲,名为“ 您可以读懂思想”。有关此技巧的详细说明,请参见链接的视频或本文档。我将尝试用更简单的术语进行解释。 事实证明,这是1930年代发明的,被称为“惠誉·切尼的五张牌把戏”。 诀窍如下: 从一副纸牌中选择五张随机纸牌。观众和您的助手可以看到他们,但您却没有。 您的助手(您与之练习过的助手)将选择其中的四张卡片,并按特定顺序显示给您。请注意,隐藏卡不是从5张卡中随机选择的。助手选择一张将使技巧起作用的卡。 您将根据从四张卡中收集到的信息推断出第五张卡是什么。 怎么样? 请记住以下两点: 选择5张随机卡片时,可以确保至少有两张卡片具有相同的花色1。 下图显示了一个等级为2的圆。由于是圆形,因此可以计数:J,Q,K,A,2、3(即模数)。您可以确保隐藏的卡与第一张卡的等级不同,因为它们的西装相同(如下所述)。总是可以选择第一张纸牌和隐藏的纸牌,以使隐藏的纸牌比第一张纸牌高1至6级(按圆圈数时)。如果第一张卡为1,则隐藏的卡将为2、3、4、5、6或7。如果第一张卡是J,那么隐藏的卡将是Q,K,A,2,3或4,依此类推。 算法: 第一张卡:此卡与隐藏卡的西装相同。找出隐藏卡的等级时,该卡也将用作参考点。 第二张,第三张和第四张卡解码范围为1 ... 6的值。我们将这三个卡称为S,M,L(最小卡,中间卡,最大卡)。值将按以下方式编码(字典顺序): S M L -> 1 S L M -> 2 M S L -> 3 M L S -> 4 L S M -> 5 L M S -> 6 因此,如果第一张牌的等级为5,而其余​​三张牌的等级为4 Q 7(它们被订购SLM),那么最后一张牌的等级为5 + …

30
会说话吗?
在一个较早的挑战中,我要求打高尔夫球的人制作出可以复制字符串中每个字符的字符串。例如: TThhiiss iiss ddoouubbllee ssppeeaakk!! 挑战仅在于检测某些文本是否符合双重发音字符串的定义。 偶数个字符。 分成两对时,每对都包含两个相同的字符。 挑战 这是代码高尔夫球,只需几个字节即可完成。 使用您选择的任何语言。 请提供在线翻译的链接。 该代码将接受一些文本。 为简单起见,输入将仅包含可打印的ASCII字符 它将返回有关输入是否为双向通话的指示。它可能是: 一个布尔值 字符串(“ true”,“ false”,“ yes”,“ no”等) 整数0或1 测试用例: aba-错误 abba-错误 aabb-是的 aaabb-错误 tthhiiss-是的 ttthhhiiisss-错误

30
乘法持久性
乘法持久性 将一个数字中的所有数字相乘 重复直到您剩下一位数 正如Numberphile解释的那样: Numberphile “ 277777788888899有什么特别之处?” Numberphile “乘法持久性(额外镜头)” 例 277777788888899→2x7x7x7x7x7x7x8x8x8x8x8x8x9x9 = 4996238671872 4996238671872→4x9x9x6x2x3x8x6x7x1x8x7x2 = 438939648 438939648→4x3x8x9x3x9x6x4x8 = 4478976 4478976→4x4x7x8x9x7x6 = 338688 338688→3x3x8x6x8x8 = 27648 27648→2x7x6x4x8 = 2688 2688→2x6x8x8 = 768 768→7x6x8 = 336 336→3x3x6 = 54 54→5x4 = 20 20→2x0 = 0 顺便说一下,这是当前记录:最小的数字和最大的步数。 高尔夫球 该程序以任何整数作为输入,然后从输入本身开始输出每个步骤的结果,直到我们碰到一位数字为止。对于277777788888899,输出应为 277777788888899 4996238671872 438939648 4478976 …

30
史蒂夫·鲍尔默的奇案
史蒂夫·鲍尔默(Steve Ballmer)是微软的前首席执行官,在最近的一篇文章中,他声称他“仍然不知道自己在移动方面做错了什么”。 正如CodeProject的新闻通讯所指出的那样,“该文章的标题可以在很多地方结束并且仍然准确”。 在没有输入的情况下,输出以下内容: Steve Ballmer still does not know. Steve Ballmer still does not know what he did. Steve Ballmer still does not know what he did wrong. Steve Ballmer still does not know what he did wrong with mobile. 该输出必须完全如图所示,并且必须是程序的唯一输出。您可以包括一个尾随换行符。 这是代码高尔夫球,因此每种语言中的最少字节数获胜

30
制作紧急走廊
在某些国家/地区,有关于如何在每个方向上有多个车道的街道上形成紧急通道的建议或法律。(在下文中,我们仅考虑沿行进方向行驶的车道。)以下是在德国适用的规则: 如果只有一条车道,则每个人都应向右行驶,以使救援车辆可以从左侧驶过。 如果有两个或更多车道,则最左侧车道上的汽车应向左行驶,其他所有人应向右行驶。 挑战 给定N>0常规车道的数量,使用一串N+1ASCII字符形成紧急通道时,输出车道的布局。您可以使用从ASCII码33到的任意两个字符126,一个代表紧急通道,一个代表汽车。允许尾随或前导空格,换行符等。 例子 在这里,我们E用于紧急通道和C汽车。 N Output 1 EC 2 CEC 3 CECC 4 CECCC 5 CECCCC 6 CECCCCC etc

3
密码锁
场景 经过一整天的辛苦工作,在办公室里浏览并浏览了stackexchange.com之后,我终于在16:58走出家门,已经疲倦了。因为我仍然只是一名实习生,所以我目前的交通方式是骑自行车。我前往值得信赖的Peugeot Reynolds 501,但是在我不能驶向它之前,我需要将其解锁。该锁是通过框架和前轮的标准四位数密码锁(0-9)。当我尝试保持清醒时,我将手向上拉以进入组合。 挑战 因为我的手指很疲劳,所以我想用最少的动作将锁调到正确的位置。一移动定义为旋转一个位置(36度),例如,从5737到移动一5738。但是,我能够同时抓取最多三个连续的环,并将它们旋转为一个,这仅算作一个动作。例如,从到到仅有一个移动。从到移动不是一个动作,因为数字1,2和4向同一方向移动,但独立于数字3。57376837562657376838 因此,对于给定的组合,我可以在自行车锁上看到(任何4位整数),使锁解锁的最低移动量是多少,是的,我可以随时朝任一方向旋转。我的意思是,我可以在一个方向上转动一些数字,而在另一个方向上转动其他数字:对于每次解锁,并非我的所有动作都是顺时针或顺时针方向。 因为我很懒,所以我的解锁码是0000。 这是我无法打扰的代码编写工作,因此以字节数为单位的最短程序获胜。 输入来自stdin,您的代码应输出每次移动后每一步都能看到的组合,包括末尾的0000。每个组合输出都应以空格/换行符/逗号/句号/&符号分隔。 例子 Input: 1210 0100 0000 Input: 9871 9870 0980 0090 0000 Input: 5555 4445&3335&2225&1115&0005&0006&0007&0008&0009&0000 Input: 1234 0124 0013 0002 0001 0000 我尝试将其发布在http://bicycles.stackexchange.com上,但他们不喜欢它... 免责声明:第一次打高尔夫球,所以任何损坏的信息/遗失信息都请通知我!我也手动完成了所有示例,因此可能会有涉及较少动作的解决方案! 编辑:对于具有多个具有相等移动量(实际上是全部)的解决方案路径的答案,没有首选的解决方案。

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.