Questions tagged «code-golf»

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

24
为我生成一些合适的车牌!
场景:您是一家在政府开办的公司工作的软件设计师,该公司为汽车和其他车辆设计车牌。您被要求开发可生成车牌的软件。在开始工作之前,您的老板制定了这些基本规则。 车牌不能包含: ASS 666 69<any number here> <any number here>69 KKK SHT 规则和要求: 车牌必须随机生成。 一旦生成了随机牌照,就不能再次生成相同的牌照。 您必须输出至少200个唯一的车牌。如果需要,您可以生成更多。 您可以将生成的板存储在文件中以“记住”它们。 车牌分为两部分,一个部分仅包含三个字母,一个部分仅包含三个数字,中间用破折号分隔,例如:233-ADF或ADF-233。 您只能使用数字和大写字母。 车牌可以写入标准输出或文件。 车牌的每个“侧面”将包含三个数字或字母。 这是一个代码高尔夫,因此最短,最受欢迎。7天后将选出优胜者。 通用规则 答案应包括但不限于以下内容。 语言名称。 字符数。 文件大小。 代码如何运行。 代码本身。 示例:Python 234个字符或Python 23mb。 如果我需要澄清任何其他细节,请在评论中提及它,并将其添加到我的帖子中。无论如何,祝您好运,并为我生成一些合适的车牌! 更新1:优胜者将被提前选择。 事实证明,我必须很快去旅行,所以我将在7月25日世界标准时间00:00左右选择一位获奖者。选定获奖者之后,您仍然可以提交全部作品,只知道已经选择了一位获奖者。白 更新2:优胜者! 我们有赢家!好极了!奶酪和美酒给参加的每个人!这是谁赢了。 第一名:Àngel-Bash(95个字符) 第二名:MartinBüttner-Mathematica(182字节) 第二名:Emilio M Bumachar-Pyg(92?) 第二名:Peter Taylor-Golfscript(98个字符) 第三名:马克·托马斯-鲁比(127个字符) 哇,三个亚军。哇。比赛结束了,但是如果您愿意,可以随时提交参赛作品。白!

5
堆放甲板!
爱丽丝(Alice)和鲍勃(Bob)喜欢玩纸牌游戏,其中一副纸牌用连续的非负整数编号。 不过,爱丽丝有一种非常特殊的方式来洗牌。首先,她从卡组中取出顶卡,并将其放在卡组的底部。然后,她取出下一张卡片,并开始堆放。然后,她再次将顶部卡循环到底部,然后将新的顶部卡放到堆上。她重复此过程,直到排空甲板为止,此时堆垛就是新甲板。 deck | pile -----------+----------- 3 1 4 0 2 | 1 4 0 2 3 | 4 0 2 3 | 1 0 2 3 4 | 1 2 3 4 | 0 1 3 4 2 | 0 1 4 2 | 3 0 1 2 4 …

12
打印相对路径
描述 给定一个源路径和一个目标路径,输出相对于源到目标的相对路径。 规则 输入可以来自stdin或作为程序/函数的参数。 Windows和Unix样式路径都必须受支持。 输出路径可以使用/和/或\用作路径分隔符(您可以选择和两者组合使用)。 您可以假设相对路径是可能的。 禁止使用用于计算相对路径的外部程序,内置函数或库函数(例如Python的os.path.relpath) 这是代码高尔夫球 编辑:评论中的新规则。 相对路径必须是可能的最短相对路径。 假设目标路径与源路径不同。 例子1 # In /usr/share/geany/colorschemes /usr/share/vim/vim73/ftplugin # Out ../../vim/vim73/ftplugin 例子2 # In C:\Windows\System32\drivers C:\Windows\System32\WindowsPowerShell\v1.0 # Out ..\WindowsPowerShell\v1.0
15 code-golf 

5
动画一个旋转的利萨如雕像
此项挑战的参赛作品将显示一个动画的旋转的利萨如(Lissajous)人物。3d旋转的出现是因为x参数在每帧中都相移。 输入: 的a和b参数(按照维基百科文章)将在命令行中指定,或者从stdin读取。 输出: 这是ascii-art,因此输出将显示在终端仿真器窗口或等效窗口中。输出大小可能是硬编码的,但是Lissajous图形必须至少足够大以填充80x24窗口。 动画帧速率约为50fps。只要计算每帧的时间比固定的睡眠时间短,每帧之间的睡眠时间为20ms就可以了。如果您选择的语言在您选择的平台上无法足够快速地进行计算,那么您将必须动态计算睡眠时间。 在该帧的所有计算完成之前,不会显示每个帧。无需清除每帧之间的屏幕。 该图2*Pi大约每4秒钟旋转一次。 对于每一帧,必须生成完全闭合的曲线。沿曲线至少必须计算1000个点。不需要在点之间画线。 曲线的点将作为#字符绘制。其余显示区域将为空白/空白。 这是代码高尔夫球,因此,最短答案(以字节为单位)(我认为可以接受)将是在此帖子发布一周后被接受的获胜者。 没有参考的答案。

3
'x'的演变
给定的是一块可变大小的板,最大大小为5场5场。每个字段都用“ x”填充。如果未用“ x”填充,则用“ o”填充。 给出了每个板的启动状态(请参见下文)。每块棋盘必须打10轮(最大条件下:请参阅下文),并且必须注意x的演变。 一回合的工作方式如下: 每个“ x”扩展到正交边界的字段,但自身消失 每当两个“ x”在一个场上时,它们彼此抵消 每个回合中所有“ x”的演变必须同时发生。例: o o o o x o o x o -> x o x o o o o x o 在每一轮演变中,您都必须查看电路板是否清空了“ x”。如果不是空的,可能会出现重复的模式。如果情况并非如此,我们将放弃对演化的分析。另外,您必须为每个起始板打印x字段的最大百分比(四舍五入为整数)。 输入: 输入数据可在此处找到(Pastebin)。该数据包含100个起始状态。如前所述,板的尺寸各不相同。行数用从1到5的n表示,其后是仅包含“ x”和“ o”的n行,表示起始模式。电路板的每一行都有1到5个字段。 输出: 必须打印出完整的结果,每个起始板的打印行必须采用以下格式: Round {0-10}: {repetition/empty/giveup}, {0-100} percent maximum-fill 例子: 范例1: Input: 2 Starting …
15 code-golf 

15
将程序转换为回文程序
甲回文是一个字符串,它是相同的向前和向后,如“赛车”。 用某种语言L编写一个程序,该程序以语言L中的任何程序P1作为输入,并输出语言L中的回文程序P2,该程序执行与P1相同的操作。 您无需担心处理语法错误的输入程序。 这是代码高尔夫,因此以字节数最少的解决方案为准。

5
识别ASCII艺术编号
挑战 识别ASCII艺术编号。为了使事情变得有趣,可能会翻转图像中的三个随机点。例如: ***** * ** ** ** ** ** 输入值 以下Python脚本生成的7x7 ASCII艺术编号。 输出量 一个数字。 测试脚本 这是生成测试用例的Python脚本(2.6+): import random digits = '''\ *** ** ** ** ** ** ** ** ** ** ** *** * *** * * * * ***** *** * ** * ** ** ** ****** *** * …

2
满是胡说八道的书:确定打油诗
众所周知,打油诗是一首短短的五行诗,带有AABBA押韵方案和麻醉剂(无论是哪种),都是偶尔出现的: 用一句话写出五行民谣的荒谬的第一行和第五行押韵, 正如您已经算过的, 他们与第二 行押韵。第四行必须与第三行押韵 您的任务是编写最短的程序,该程序在馈入输入文本时会打印是否认为输入是有效的打油诗。输入既可以在命令行中进行选择,也可以通过标准输入进行选择,输出也可以是简单的“ Y” /“ N”或置信度得分,同样可以选择。 这是正确的打油诗的另一个例子: 有一位年轻的女士的眼睛 都以颜色和大小的唯一 当她打开他们广泛的 人都转过身去 ,惊讶地拔腿就走 但是下面的诗显然不是油画,因为它不押韵: 有一个圣蜜蜂的老人 被黄蜂st 住了胳膊。 当被问到“疼吗?” 他回答说:“不,不是, 我很高兴那不是大黄蜂。” 这也不是,因为仪表都是错误的: 我听说有一个柏林 人讨厌他所在的房间。 当我问 他为什么叹口气时说: “好吧,你知道,昨晚周围有几个流氓正在庆祝熊队夺得冠军。世界杯,他们的声音真的很大,所以因为喧嚣我无法入睡。” 线索 以下是一些可用来确定您的输入是否为打油诗的线索: 五行民谣总是五行。 第1、2和5行应该押韵。 第三行和第四行应该押韵。 第1、2和5行大约有3x3 = 9个音节,而第3行和第4行有2x3 = 6个音节 请注意,除了第一个以外,其他所有都不是一成不变的:不可能达到100%的正确率。 规则 您的输入至少应该以确定性方式正确地对示例1到3进行分类。 您是允许使用您想要的任何编程语言,除了专门为这次比赛设计的(见当然编程语言在这里)。 你是不是允许使用任何图书馆除了你的编程语言的标准产品。 您是允许假设该文件中,CMU狮身人面像语音上的字典,是在当前目录下名为“C”文件。 你是不是允许硬编码的测试输入:你的程序应该是一个一般的打油诗分类。 您是允许假设输入是ASCII,没有任何特殊的格式(如中的例子),但你的程序不应该由标点符号混淆。 奖金 提供以下奖金: 您的程序将其结果输出为打油诗吗?减去150个字符的长度奖励! 您的程序还能正确识别十四行诗吗?减去150个字符的额外长度奖励! …

24
删除字母以形成回文
问题 假设一个单词几乎可以回文,如果可以删除其中一个字母,从而使该单词成为回文。您的任务是编写一个程序,该程序针对给定的单词确定删除哪个字母以得到回文。 以任何编程语言执行此操作的最短代码都会胜出。 输入值 输入由2到1000个字符长的大写字母组成。 输出量 输出应删除的字母的1索引位置(最左边的字母具有位置1,下一个字母具有位置2,依此类推)。如果有可能导致回文的选择,请输出其中任何一个。请注意,即使给定的单词已经是回文,您也需要删除字母。如果给定的单词几乎不是回文,则输出-1。 例 输入: racercar 可能产生输出: 5 因为删除5字母th会产生racecar回文。 另外,输入 racecar 仍然可以产生输出 4 因为删除4字母th raccar仍然是回文。
15 code-golf 

7
产生白噪声
挑战在于:生成由白噪声组成的音频文件。 要求和说明: 您的程序必须生成仅包含白噪声的音频文件,这意味着其强度在所有(合理的)频率上都是相同的,并且不为零(请参见示例图); 一个人必须能够在最新版本的VLC上播放音频文件(在编写答案时); 该程序不需要加密强度高的随机性,rand功能或可以读取的/dev/rand内容; 该程序必须至少能够在理论上产生至少1个小时的音频(这意味着系统限制(例如最大文件大小)不适用); 分数是源代码中的字节数,加上所有适用的奖励; 使用任何第三方,外部库都可以; 该程序必须能够在不访问Internet的情况下运行。 奖金是: -15%:允许指定音频文件的格式(至少两个选择;可能的选择数量不会改变乐谱); -10%:允许指定音频文件的持续时间; -5%:允许指定音频文件的比特率。 这些设置可以存储在变量,文件中,也可以作为命令行参数来选择。百分比是从原始字节数计算得出的,然后再应用任何奖励。

18
字母数字平衡
编写一个程序,该程序以字符串作为输入,并计算其中的字母数字和非字母数字字符的数量。它必须显示如下结果: 输入:http://stackexchange.com 输出:20 + 4 = 24 要注意的是,您的源代码必须具有与非字母数字字符相同数量的字母数字字符。不允许注释,空格被忽略。(显然,称为“ 空白 ”的语言可能会竞争选票,但显然不会被选为获胜者) 代码中的字符必须至少具有一些次要理由,它们不应完全多余。例如,允许使用更长的变量名,i = (j*3)+4;而不是i = j*3+4;也允许。但是,i = i + 1;;;;;;事实并非如此。 除此之外,还适用标准代码高尔夫球规则。

9
实现任意精度划分
实现一个函数divide(int a, int b, int c),以输出以10为底的值a/b。而不使用任何浮点数学或BigInteger/ BigDecimal或等效库。除下面第4点中的(可能的)例外外,至少必须打印c一组正确的字符0123456789.。 a和b可以是任何的32个整数。更新:如果打高尔夫球的目的,你想有输入是64个原语是好的,但你并不需要支持数据的全部64位范围。 如果不是,则无需检查是否c为正(尽管希望您的程序不会崩溃)。 的最小支持上限c是500。如果您的程序不支持c上述值可以500,但是也可以。 对于均分的数字,是选择打印额外的零(基于的值c)还是不打印任何内容。 您不需要使用该函数就可以执行任何其他任务,唯一的目标是打印。 对于之间的数字-1和1,这是你的选择是否打印的领先0。但是,这是唯一可以接受打印前导零的情况,并且您只能打印一个这样的零。 您可以使用最后一个小数位所需的舍入/下限/ ceil逻辑。 对于否定答案,您必须打印前导-。这不计入c。然而,这是你的选择,如果你想打印,+或者没有一个肯定的回答。 整数除法和整数模数均允许。但是,请记住,除非您选择实现自己的BigInteger/ BigDecimal库(取决于代码长度),否则您仅限于基元。 尽管您可以,但是您不需要处理bbeing 0。如果b=0,您的程序可能会进入无限循环或崩溃,并且不会受到处罚。 每个注释的规则略有更改。为确保公平竞争,a并且b确保且保证为32位整数,可以使用64位长的整数。如果您选择的语言作为基本语言超出了64位整数,则您在任何时候都不能使用该功能(假装它的上限为64位)。 尚不清楚的另一点(尽管它不应更改任何当前有效的答案):虽然c可以解释为打印的字符数或小数点后的空格数,但是程序必须c以某种相关方式使用决定要打印多少个字符。换句话说,divide(2,3,2)输出应该比divide(2,3,500); 短得多。不考虑印刷500个字符是不行的c。 我实际上并不在乎函数的名称。d可以打高尔夫球。 输入值 函数调用和读取stdin均被接受。如果您从阅读stdin,则集合中未包含的任何字符[-0123456789]均被视为参数定界符。 输出量 stdout如上所述的字符。 例 对于divide(2,3,5),以下所有都是可接受的输出: 0.666 0.667 .6666 .6667 0.666 0.667 .6666 .6667 +0.666 +0.667 +.6666 +.6667 另一个示例:divide(371,3,5)以下是所有可接受的输出: 123.6 123.7 123.6 123.7 +123.6 +123.7 123.66666 …

8
创建分形树
我想看到的是绘制了一个分形树,您可以在其中输入一个整数,而输出将是一个分形树,其中输入了分支步数。 规则: 分形应该是线形树: 分形的形状也应与此图片相同。 每个分支每次拆分时,宽度应减少25% 分支的最后一层应为1px宽的线 最短代码胜出 提示:此网站可能有用。

6
代码注入也可以在C#中工作!
给定以下C#程序输出False,请注入“恶意”代码行,以使程序输出True。 class Program { static void Main() { System.Console.Write("False"); ; } } 您的答案应包含一个字符串,该字符串将替换第二个分号,并导致程序输出True,整体,True而仅输出True(甚至不包括换行符)。如果将stdout打印到控制台,并且将stdout重定向到文件,则必须执行此操作。 最短的答案将获胜。

30
哥德巴赫的猜想
编写一个程序,提示用户输入大于2的偶数整数。 考虑到哥德巴赫的猜想,每个大于2的偶数均可以表示为两个素数之和,请打印出两个素数,将它们相加即可提供所需的偶数。编辑:该程序仅需要打印素数对,而不是全部。例如: 4:2 + 2 6:3 + 3 8:3 + 5 10:5 + 5或3 + 7
15 code-golf  primes 

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.