编程拼图和代码高尔夫

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

30
您所有的基地都属于我们(受限制)
不需要输入,输出必须读为“ All your base are belong to us”。 限制条件 没有外部资源。 加上以下至少两个: 您在代码中的任何情况下都不能使用“ a”,“ b”,“ t”,“ u”或“ y”(如果可以的话,可以在高尔夫得分上加-10) 在您的代码中,无论如何都不能使用“ l”,“ o”,“ s”,“ e”或“ r”(如果可以的话,可以在高尔夫球得分上加-20) 在您的代码中,无论如何都不能使用“ n”,“ g”,“ 0”,“ 1”或“ 2”(如果可以的话,对高尔夫成绩加分-30) 因此,例如,如果您设法用40个字符完成代码并使用规则1和2,则高尔夫球得分为40-10-20 = 10个字符。 最小码的高尔夫球得分获胜...祝您好运!

30
编写最短的自我识别程序(quine变体)
编写一个程序,如果输入与程序的源代码匹配,则生成一个“ true”输出;如果输入与程序的源代码不匹配,则生成一个“ false”输出。 可以将这个问题描述为与quines有关,因为程序必须能够以某种方式在该过程中计算其自己的源代码。 这是代码高尔夫球:适用标准规则。您的程序不得访问任何特殊文件,例如其自身源代码的文件。 编辑:如果您选择,则可以将True / False替换为True / False或1/0。 例 如果您的程序的源代码是bhiofvewoibh46948732));:/)4,则您的程序必须执行以下操作: 输入(标准输入) bhiofvewoibh46948732));:/)4 输出(标准输出) true 输入项 (Anything other than your source code) 输出量 false

13
谁是美国总统?
挑战 编写一个程序,将1789年4月30日至2019年8月21日的一天作为输入,并返回当日为美国总统的输出。 笔记 有关美国总统的名单,姓名格式和任期,请参见以下内容: April 30, 1789 - March 4, 1797 George Washington March 4, 1797 - March 4, 1801 John Adams March 4, 1801 - March 4, 1809 Thomas Jefferson March 4, 1809 - March 4, 1817 James Madison March 4, 1817 - March 4, 1825 James Monroe March …

10
嘎嘎生气的鸭子
尚不确定该图释>:U打算代表什么,但许多学者认为它看起来像只愤怒的鸭子。假设是这种情况。 任务 给定整数n(介于0和3之间,包括0和3),请打印或返回 quack 如果n = 0, >:U 如果n = 1, U U > : U U > U U > : U U UUU 如果n = 2,或者 >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U …

30
括号是否完全匹配?
您必须编写一个程序或函数,该程序或函数带有方括号,并输出该字符串是否完全匹配。您的程序应打印真实或虚假的值,并且IO可以采用任何合理的格式。 规则和定义: 出于此挑战的目的,“括号”是以下任意字符:()[]{}<>。 如果左括号和右括号的顺序正确且其中没有字符,则将一对括号视为“匹配” () []{} 或者,如果其中的每个子元素也都匹配。 [()()()()] {<[]>} (()()) 子元素也可以嵌套在几层深处。 [(){<><>[()]}<>()] <[{((()))}]> 仅在以下情况下,字符串才被视为“完全匹配”: 每个字符都是一个括号, 每对支架都有正确的打开和关闭支架,并且顺序正确,并且 每个括号都匹配。 您可以假设输入将仅包含可打印的ASCII。 测试IO 以下是一些应返回真实值的输入: () [](){}<> (((()))) ({[<>]}) [{()<>()}[]] [([]{})<{[()<()>]}()>{}] 以下是一些应返回假值的输出: ( Has no closing ')' }{ Wrong order (<)> Each pair contains only half of a matched element (()()foobar) Contains invalid characters [({}<>)> …

2
说真的,GolfScript,CJam还是Pyth?
前段时间,有人问了以下问题:GolfScript,CJam或Pyth? 仅基于标题,我认为这将是一个非常好的挑战,但不幸的是,事实证明这是一个要求提示的问题。这是我想阅读的挑战: 谁说高尔夫语言在现实世界中没有使用?众所周知,独立于所使用的编程语言,每行代码的错误比率是相同的,因此,存在明显的机会来减少使用这些语言的调试和维护成本。最终,您的公司看到了曙光,并决定使用Golfscript,CJam和Pyth来开发其产品。 不幸的是,几个月后,您的硬盘上到处都是代码片断,甚至您都不知道用哪种语言编写了哪些代码(您甚至怀疑某些使用Perl的程序员)。 您必须编写一个工具来检测编写程序所用的语言是CJam,Golfscript或Pyth。情况很危急,您可以使用所需的任何语言,但请保持简短(数据存储非常昂贵:我们使用的字节越多,成本就越高)。 一般 最短代码赢 标准漏洞等 不要使用在线口译员 您可以编写函数或程序 您可以使用eval来检测自己的语言 输入项 您的输入来自标准输入流或字符串 输入仅包含ASCII可打印字符和换行符 输入的大小最大为256个字节 输出量 输出被打印到输出流或作为字符串/符号序列返回 如果输入的是无疑是一个有效的X程序,打印或返回X,X ∈{CJam,Pyth,Golfscript} 备注:“毫无疑问”并不意味着您可以使用始终无法检测到任何语言的愚蠢分析器进行回答。对于Pyth,我希望可以识别简单程序(但不能进行硬编码)。这同样适用于CJam(备忘单,实施例)和Golfscript(实施例)。前面的链接指向每种语言的规范。如果使用模糊/贝叶斯方法,则“毫无疑问”意味着具有很高的置信度(例如,您的分类得分为99%)。 请参阅下面的实际测试套件。 如果输入使用多种语言有效,则应打印/返回每种检测到的语言。打印时,多个输出之间必须有分隔符(例如,空格,换行符,逗号...)。 语言尝试的顺序无关紧要 我不关心大小写(CJam,cjam,CJAM,SPAM)[1] 如果未检测到以上任何一种语言,则打印“ Probably Perl”。多亏了mbomb007的注释,在上述情况下,您还可以输出“ Seriously”,罚金为4个字节(两个字符串之间的差)。 [1]请注意,垃圾邮件无效 例子 输入项 "Crime predicted: -- Calling: 1--555- "30*{_5<{iAa*:mr}&}/ 输出(多个返回值的示例) ["Golfscript", "Cjam"] 输入项 3 输出(标准输出示例) golfscript cjam pyth 输入项 if {} aazd …

30
机器人轮盘:高赌注的机器人赌博
最终排名 + ---------------------------------- + --------- + ---- ----- + --------- + ---------------------------- + | 姓名| 分数| WinRate | TieRate | 消除概率| + ---------------------------------- + --------- + ---- ----- + --------- + ---------------------------- + | 1. SarcomaBotMk11 | 0.06333 | 6.13%| 0.41%| [42 24 10 8 6 4]%| | 2. WiseKickBot …

6
按数字绘画(使用编程,而不是数字)
您的任务是创建一个程序,该程序采用黑白轮廓图像(下面是示例图像)并用彩色填充。取决于您如何划分每个区域以及用哪种颜色填充(您甚至可以使用RNG)。 例如: 如您所见,在涉及MS Paint时,我显然是高级人才。 计分 这是一次人气竞赛,因此以最多净票数赢得答案。鼓励选民通过以下方式判断答案 输入标准:任何包含白色/浅灰色背景和黑色/深灰色轮廓的图像 着色效果如何;表示与上述区域不同的是很少或没有白色区域(除非您显然打算使用白色区域,例如用于云层) 某些部分使用的颜色的可定制性 系统在一系列不同图像(细节不同)上的工作情况 发布您的程序每个图像花费多长时间。我们可能不喜欢打代码,但是较短,更快和更高效的代码应该被认为是更好的代码 应该将新图像输出到屏幕上或文件中(不大于2MB,以便可以在答案中显示) 请说明为什么选择输出为该图像类型并注释/解释代码的工作原理 适用于所绑定的各种形状的颜色(逼真的配色方案,例如草为绿色,木栅栏为棕色等) “我可以为每个区域随机着色,但是如果我能识别出“围栏”并使其具有相似的颜色,那是值得赞扬的东西。” -内森·梅里尔 鉴于这是一次人气竞赛,您还可以选择通过以下方式进行判断: 总体吸引力(图像看起来有多好) 艺术天赋;如果您可以使用阴影或水彩风格的着色等进行编程 通常,以斋戒的程序和最高的公众投票会获得最高质量的最小输出图像(文件大小)。 如果您认为应该使用其他判断规范,请在本文的评论中推荐它们。 例子 我什么都不拥有;所有示例图片均具有知识共享许可。 来源:https : //pixabay.com/ro/stejar-arbore-schi%C5%A3%C4%83-natura-303890/ 来源:http: //www.freestockphotos.biz/stockphoto/10665来源:http:// /crystal-rose1981.deviantart.com/art/Dragon-Tattoo-Outline-167320011 来源:http://jaclynonacloudlines.deviantart.com/art/Gryphon-Lines-PF-273195317 来源:http://captaincyprus.deviantart.com /艺术/龙轮廓-331748686 来源:http://electric-meat.deviantart.com/art/A-Heroes-Farewell-280271639 来源:http://movillefacepalmplz.deviantart.com/art/Background-The-Pumpkin农场的美好时光342865938 编辑:由于行上的抗锯齿导致非黑色/白色像素和一些可能包含灰色而不是黑色/白色的图像,因此,您可以尝试应对这种挑战。我认为这应该很容易。

30
一个“作弊”的奎因
长期潜伏,第一次海报。所以去。 在quine的Wikipedia页面上,它说:“如果查看自己的源代码,quine被认为是“欺骗”。您的任务是使这些“作弊的家伙”之一读取自己的源代码。 这是code-golf,因此以字节为单位的每种语言中的最短代码为准。这意味着5字节的Pyth脚本不会胜过21字节的Python脚本-但15字节的Python脚本会胜过。 您必须使用文件I / O来读取源代码,因此以下来自官方Wikipedia页面的JavaScript代码无效: function a() { document.write(a, "a()"); } a() 它必须访问磁盘上文件的源代码。 不允许您指定文件名。您必须使其检测文件名本身。 大家都清楚吗?走!
56 code-golf  quine 

30
不使用它就打印每个可打印的ASCII字符
用您选择的编程语言编写95个程序,每个程序输出95个可打印ASCII字符中的 一个,而该字符不会出现在程序中的任何位置。 例如,如果您的语言是Python,则输出字符的程序P可能是 print(chr(80)) 因为它P具有ASCII代码80。此程序有效,因为它P从未出现在源代码中。但是,对于输出小写字母的程序,p类似 print(chr(112)) 将是无效的,因为虽然它确实打印了p,但p仍存在于代码中。一个有效的程序可能是 exec(chr(112)+'rint(chr(112))') 可以打印p但不包含p。 您的目标是使95个程序中的每一个都尽可能短。您的分数是所有程序的字符长度之和。 如果由于某种原因您无法为某些字符编写有效的程序,则可以将这些字符标记为“ Did Not Program”或DNP,并完全省略它们的程序。这样,语法严格的语言就可以竞争。 获奖的答案是,有得分最低的答案中的一组拥有最少的DNP的答案。 规则 您所有程序的源代码只能包含可打印的ASCII加上制表符和换行符,所有这些都被视为一个字符。(由于采用了不同的编码,因此很容易省略不存在的字符!) 注意:此规则似乎是必需的,但是有许多语言使用不同的编码,我敢肯定看到它们的答案会很酷。因此,您可以打破这条规则,可以使用任何想要的字符,但是您的答案将变得不具有竞争力,因此无法取胜。 根据您语言的标准约定,程序必须是实际的完整程序。不允许使用功能和REPL代码段。 每个程序的输出应转到stdout或您的语言可接受的替代方案。 程序不应提示或要求输入。(如果提示输入是您的语言固有的,那么可以。) 程序应具有确定性,运行时有限且独立。例如,一个文件是否在与其他程序分开的文件夹中运行没关系。 程序的输出应该是与之对应的可精确打印的ASCII字符,可以选择在其后跟一个单行换行符,仅此而已。 确保在答案中包括所有95个(理想)程序的信息,以及分数和任何DNP。你不必列出所有遵循像一个简单的模式程序“ ,...”但要确保你确信他们都将工作,你的分数是正确添加。print(chr(80))print(chr(81))print(chr(82)) 作为参考,以下是程序必须输出的95个可打印ASCII: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

9
绘制温暖的欢迎秘密帽子
2014年冬季狂欢节正处于盛况,我们大家都不喜欢帽子吗?尤其是秘密帽子! 那么,为什么不戴一顶神秘帽子呢? 挑战 您的任务是按您选择的语言并按此页面上显示的确切结构按比例绘制Warm Welcome Hat 。 与往常一样,您可以使用矢量或栅格图形将帽子渲染到文件或屏幕上。如果输出已光栅化,则图像的尺寸必须为400x400像素或更大。 此外,帽子的实际内容(图像彩色部分的边界矩形区域)应覆盖输出图像的40%以上。 技术指标 下图列出了帽子的各种尺寸。所有尺寸均以单位为单位,例如,像素。图像中的所有边界半径均应以13单位半径绘制。 颜色: 星形和圆形戒指中的红色-RGB(255,28,34) 圆圈中的黄色-rgb(255,202,87) 最浅的灰色-RGB(88,88,92) 最深的灰色-RGB(31,26,26) 中灰-RGB(64,64,64) 计分 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。 值得一提的是,使用现有的压缩(例如嵌入压缩的GIF)会陷入几个标准漏洞。

30
OEIS的演变
在此挑战中,目标是一次重新创建一个整数序列在线百科全书。与《 Hello World的进化》相似,每个答案都取决于先前的答案。 随着时间的推移,这一挑战将创造出OEIS序列的“家族树”。添加到此树很简单。 查找先前的答案,该答案可以在树的任何深度N处。 确定该答案序列生成的前N个数字。 在OEIS中找到一个序列,该序列以相同的数字开头并且之前从未使用过。 编写一个程序以生成刚刚发现的这个新序列。 将答案提交为深度N + 1 由于答案的级别会影响评分,因此您应该始终将答案添加到树上尽可能深的级别。如果您无法在树上的任何位置放置答案,则可以开始树的新分支并将答案设为深度1。 答案要求 有几种输出序列的方法。 第一种选择是编写一个程序或函数,该程序或函数输入一个数字(从STDIN或作为参数)并按您选择的顺序返回第N个数字。您可以假定将为N定义序列,并且N和S_N的大小“合理”(因此不会引起溢出)。您也可以使用任何合理的索引,例如0索引,1索引或序列的OEIS页面上“偏移量”下列出的索引,都没有关系。第一个索引产生的术语必须与OEIS条目的第一个术语匹配。 第二种选择是编写一个程序或函数,该程序或函数输入一个数字并返回序列的前N个项。输出的第一项必须是OEIS条目的第一项(您不能忽略前几项)。连续术语必须由任意的非数字字符字符串分隔,因此0,1 1.2/3,5;8,11可以,但011235811不计算在内。 第三个选项是创建一个输出连续数字流的程序。与第二个选项类似,连续项之间必须有定界符。 您的答案应包含这样的标头,以帮助Stack Snippet解析: # [language], [number] bytes, depth [number], A[new sequence] from A[old sequence] 您的答案应包含生成序列的代码以及任何后代必须包含的前几个术语。这几个术语之前terms:应加上确切的词,以便控制器可以将它们用作树形图的一部分。还建议您对选择的顺序进行描述。 如果您的帖子是深度1答案,因此没有祖先,则只需from A[number]在标题中省略即可。 这是一个示例答案: # Perl, 26 bytes, depth 3, A026305 from A084912 various code here and here The …

30
一百万以下的素数清单
这是我的第一个高尔夫问题代码,也是一个非常简单的问题,因此,如果我可能违反了任何社区准则,我事先表示歉意。 任务是按升序打印所有小于一百万的质数。输出格式应为每行输出一个数字。 与大多数代码高尔夫球提交一样,其目的是最小化代码大小。针对运行时进行优化也是一个奖励,但它是次要目标。

30
玩“ bzzt”游戏
获胜者:Aditsu的CJam答案!高达25个字节!真好! 您可以继续提交答案,但是您将无法再获胜。供后代保留的原始帖子: “ Bzzt”游戏是一种您必须数数(在本例中为500)的游戏。但是,如果数字中包含3或被3整除,则无需说数字。而是说“ Bzzt”。 规则: 您不能对数字进行硬编码。 该号码仅需满足以下至少一项要求 可被3整除 编号包含3 某些类型的分隔符是强制性的(12bzzt14不计算在内) 分数以字节为单位。 您必须精确计数到500,从1或0开始(选择)。 数字必须输出,但是如何输出(例如,stdout,写入文本文件等)都无关紧要。 0可以被3整除,也可以不被3整除。你可以选择。 您可以一次输出一个数字(例如,输出1,然后输出2,然后bzzt,然后4,等等),也可以一次输出所有数字(例如,输出1 2 bzzt 4 5)。 您必须用单词“ bzzt”代替字母3。这不区分大小写(bZzt,Bzzt,bzzt都可以)。 这是一个代码挑战,因此以最短的代码为准。 该竞赛将于2014年6月30日(发布后7天)结束。
56 code-golf 

10
解析文字书写的Millitext字体
读取毫文本字体的文本 这里有一种字体,可以将每个字符放入单个1x5像素块中。它通过使用每个像素的RGB通道将一个像素扩展为三个子列(每个通道一个)来做到这一点(假设您使用的是LCD屏幕)。您的任务是接收以这种字体编码的文本字符串,然后对其进行“解码”。 密文字母 CHARACTER: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ENCODING: WYWBMRRMMMWYWYWWWMWBMRMYGYGYCWMMMMMW MGBWMRRMMMMMRMRRRMGBMRWMMMMMRGMMMMMB MGWWWWWBWWWYRMWWMWGBYRWMMYMYGGMMWGGG MGRBBBMBMBMMRMRRMMGBMRMMMRWMBGMCWMGR WWWWBWWBWWMYWYWRWMWWMWMMGRCMYGWBMMGW 我已将每种颜色缩写为一个字符符号(R =红色,G =绿色,B =蓝色,C =青色,Y =黄色,M =洋红色,W =白色)。 输入格式 输入格式是相当开放的。您可以让输入是包含每一列的数组,包含每一行的数组,a char[][]或类似的东西。您还可以选择使用全字“ red”,“ green”,“ blue”,并选择大写/小写(但是每个单词必须一致!您不能使用“ RED”,也要使用“ green”或“蓝色”)。 如果您的语言恰好支持它,那么您也可以输入颜色(但是可能有用,我不知道该如何使用)。 您可以假设输入将仅包含上面字母中的编码字符(特别是,您的输出中将没有空格或标点符号)。 输出格式 您可以输出字符串或某种字符数组。您可以选择字母是大写还是小写,但是它们都必须具有相同的大小写。 例 MWRRGMGYRY MRRRMMMMRM WWRRMWMYRM -> HELLOWORLD MRRRMWMMRM MWWWGMGMWY 规则 这是代码高尔夫球,所以最短的答案会成功! 测试集 WMWGMWWMYYGMYWGMBMMYWYGMWYWMWRWWMYGW GMRMMGRMMMMMMRMMBMWMRMMMRMGMRRMBMMMR GWWMMGRYYYMWMWMGBMWYWMMMWYGWWRWGGMMM -> THEQUICKBROWNFOXJUMPEDOVERTHELAZYDOG GMRWMGRMMMMWMRMMBMMRRMMCRMGMRRMRGMMM GMWCWWWMYMGMMRGMWWMRWYGBWMGMWWMWGYGW
56 code-golf 

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.