Questions tagged «code-golf»

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

14
Triforce ReBoot [关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 看到你好世界如何事与愿违,这是一个困难的过程。 我爱Zelda,也爱ReBoot。 创建以下 要求: 它必须是一个窗口(可以是任何窗口,甚至是浏览器等)。 窗口可以是任何大小。 窗口中除图片外可能不包含其他任何内容。 窗口不应立即自行关闭。 三角形必须是任何蓝色阴影。 圆圈必须是任何绿色阴影。 较小的三角形必须 通过提供链接来接触“ 禁止偷窃”图像的边缘。 条件:最短的代码获胜。 PS:是的ReBoot徽标略有不同,但这足够使它有趣。 编辑:我添加了另一个要求。似乎我们有很多非常聪明的人喜欢发现漏洞:PI爱你们。
10 code-golf 

5
今天(9月24日)是本田的生日[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 4年前关闭。 今天(9月24日)是本田公司的生日。他们最初的公司名称是 本田技研工業株式会社 我想要求给本田做个礼物。任务是使程序打印公司名称。您可以根据需要进行任何操作,但是只有一个规则,即不允许使用Unicode。它应该是ASCII艺术。 我想问一下代码和输出。一如既往地确定优胜者,我将研究代码的长度,但是在这种情况下,肖像也很重要。 编辑:输出必须看起来与此类似:本田技研工業株式会社

10
产生一个直角三角形
在此挑战中,您必须采用两个数字(以空格分隔)作为输入,并输出由xs 组成的ASCII直角三角形。 第一个数字是您应该输出的三角形的宽度和高度。第二个数字是直角将位于哪个角。这些角的编号为1到4,从左上角开始,以英语阅读顺序排列: 1 2 3 4 例如(输入及其各自的三角形输出): INPUT | 3 1 | 3 2 | 3 3 | 3 4 ------+-----+-----+-----+---- OUT- | xxx | xxx | x | x PUT | xx | xx | xx | xx | x | x | xxx | xxx 程序的输出必须与这些示例的输入完全匹配。 输入将始终有效:第一个数字将为≥1的整数,第二个数字将为1、2、3或4。 …

3
罗塞塔石碑挑战:画一个盒子
Rosetta Stone挑战赛的目标是用尽可能多的语言编写解决方案。炫耀您的编程多语言! 挑战 您面临的挑战是要实现一种程序,该程序将以尽可能多的编程语言输入数字列表并输出数据的箱形图。箱形图将显示数据中的四分位数和离群值,甚至具有比例。您可以使用您的语言具有的任何标准库函数,因为这主要是语言展示。 什么是“箱形图”? 一个箱形图的图表数据的一种方式。箱形图具有一些基本功能。第一个特征是一个盒子,盒子的任一侧位于数据的第一和第三四分位数处。在箱形图的中心下方有一条线,给出了中位数。在箱形图的两端,都有“晶须”帮助显示数据的方差。晶须从盒子延伸到数据集中的最低和最高点,不包括异常值。离群值绘制为单个点。 首先,取数据的中位数。然后,取所有严格小于中位数的数据点,并计算该集合的中位数,使其成为第一个四分位数(Q1)。取所有严格大于中位数的数据点,然后计算该集合的中位数成为第三个四分位数(Q3)。找到的值R = 1.5*(Q3 - Q1)。减去Q1 - R这个的任何数字都是离群值。任何大于Q3 + R异常值的数字。取所有不是异常值的数据点的集合,该集合的最小值和最大值确定两个晶须的末端。 输入值 输入将以数字开头n=。然后会有n数字,每行一个。所有数字都是0到63之间的整数,包括0和63。 n=8 29 1 22 18 12 16 16 22 输出量 输出将是箱形图的再现。绘制图的一种可能方法是将其绘制为ASCII。您可以用ASCII以外的其他方式来绘制箱形图,但是主要的要求是绘制足够大的图形,以便可以分辨出重要特征的确切位置。箱形图应有一个比例尺,由大约5-10个等间距的数字组成。这是上述数据的一个示例图: +--+----+ | | | X +-+ | +------+ | | | +--+----+ 0 0 1 1 2 2 3 0 5 0 …

5
返回Manufactoria中输入的最后一种颜色
这个难题是我对Manufactoria系列挑战中的下一个难题。 背景 Manufactoria是一种游戏/二维编程语言。播放器必须创建将操纵队列以达到所需输出的程序。它很容易学习,但很难掌握,因此很容易造成各种各样的挑战。如果您不知道我在说什么,我建议您玩游戏的前几个教程级别。 挑战 您的挑战是创建一台机器,该机器将返回输入字符串的最后一个元素。为了使其更具挑战性,输入字符串可以是所有四种颜色的任意组合。 可在此处找到要使用的官方自定义级别: http://pleasingfungus.com/Manufactoria/?ctm=最后一行r; 13; 3; 0 ; 本周的挑战主要集中在压缩的概念上。我选择了这个挑战,需要大面积的传送带。所有四种颜色都出现在输入中的事实意味着很难存储信息。 尽管我没有尝试压缩,但我的第一个工作原型具有114个零件,可放入13x13的空间,几乎没有剩余空间。 计分 这项挑战的目标是尽可能使用一些零件。得分是放置的零件数,得分最低者获胜。 尽管只有8个测试用例,但是您的创作理论上应该能够在任何测试用例下运行。提供的测试用例用于调试目的。 例子 in: byrgyrbyrrgry out: y in: ggryybrryr out: r in: #don't you love degenerate cases? out: in: gyrbrygbrygbyrb out: b

3
计算电阻(书呆子狙击)
下午好,高尔夫球手, 我们今天的挑战是受XKCD漫画356和370启发的。我们将编写一个程序来计算一组电阻的电阻。预先警告说,这几乎足以应付代码挑战,但是我认为以高尔夫格式编写稍微复杂一些的程序是有一定道理的。最少的字符获胜。 计算电阻取决于以下两个公式: 如果电阻是串联的,则电阻是每个电阻的电阻之和 如果电阻是并联的,则电阻是每个电阻的电阻之和的倒数。 所以-例如: 您面临的挑战是,以最少的字符数来计算一组最多64个电阻器的电阻。对于复杂性,尤其是输入规则,我深表歉意。我试图以每种语言都可以使用的方式定义它们。 每个电阻将连接到2个或更多其他电阻。 保证输入有效,只有一个入口和一个出口点,它们将连接 网络将是串并联的,以防止需要比所展示的更多的数学运算 输入将通过文件,参数或标准输入,这取决于您的语言。 输入将由一系列换行符或正斜杠分隔的语句组成,这些语句由电阻的电阻的整数组成,并且用空格分隔电阻的一侧所连接的电阻的ID。 第一个电阻器的ID将为1,对于每个后续电阻器递增1。 开始将始终具有0的ID 最终电阻将始终具有0欧姆的电阻,并且仅在其线路中定义了连接 例如: 可以表示为 3 0 6 1 1 0 5 0 0 2 3 4 输出可以是stdout或文件。它可以通过以下方式之一表示: 一个数字,至少要保留2个小数位,后跟换行符 由整数(分子),正斜杠和另一个整数(分母)组成的分数,后跟换行符。分数不必为最低形式-例如4/4或10/8是可接受的。分数必须在1/100之内。完全准确没有任何好处-这是为了使没有定点或浮点运算的语言能够竞争而提供的拐杖。 我希望能涵盖所有问题。祝好运!

2
电子邮件验证
编写一个函数或程序,以放松您可以忽略注释并折叠空白()和通用地址文字的方式,根据RFC 5321(在5322中找到一些语法规则)来验证电子邮件地址CFWS。这给出了语法 Mailbox = Local-part "@" ( Domain / address-literal ) Local-part = Dot-string / Quoted-string Dot-string = Atom *("." Atom) Atom = 1*atext atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. …

2
正多边形的区域
给定绘制了所有对角线的规则N形,对角线会形成多少个区域? 例如,正三角形的正整数为1,正方形的正整数为4,五边形的正整数为11,六边形的正整数为24。 分数与解决方案中的字节数成反比 可能会根据运行时间将小的软糖因素添加到分数中 多边形周围的区域不计算在内

1
从按键和模式缩放
你们大多数人可能都知道C大尺度: C D E F G A B C 主音阶的特征是相邻音符之间的间隔,以半音为单位: 2 2 1 2 2 2 1 从这些间隔中,我们可以从任何音符(音阶的关键)开始构建任何主要音阶。我们的12个音调相等的气质调音系统中的12个音符是: C C♯ D D♯ E F F♯ G G♯ A A♯ B 等效地(替换一些谐音等效物): C D♭ D E♭ E F G♭ G Ab A B♭ B 在每对相邻音符之间使用半音。 从音调开始,每个音阶必须依次有七个音符。否则,您可能在五角星的同一行中有两个音符,这会造成混淆。因此,在G#major / ionian中,您使用F ##而不是G;音乐家只会看看五角星在哪里,他们已经了解了每种音阶的偶然性。确实,在G#大调中,F ##在F ##的行中没有偶然出现,偶然出现在密钥签名中-但由于该密钥签名需要F的两个尖锐字符,因此通常将其标记为Ab …
10 code-golf  music 

2
使用用户指定的数字生成有效方程
这是基于我的一位数学老师在中学时期玩的一款游戏。他将在板上写下5个随机的一位数字,然后再写入一个随机的两位数字。我们将尝试创建一个方程,该方程使用所有5个一位数字来产生两位数。以下是一些带有解决方案的示例,可以更好地说明这一点: Input: Solution: 7 5 4 8 4 34 5*8-7+4/4 = 34 3 1 5 7 6 54 (7+3)*6-5-1 = 54 3 9 2 1 6 87 9*(2+1)*3+6 = 87 2 1 6 9 7 16 (9-7+6*1)*2 = 16 2 4 5 8 6 96 8*(5+6)+2*4 = 96 3 8 …

6
围栏密码
编写两个程序: -一个程序,读取一个字符串和一个密钥,并使用该密钥将该字符串编码为栅栏密码。-同样,编写一个用于反向功能的程序:使用钥匙解密铁栅栏。 对于那些不知道什么是栅栏密码的人,它基本上是一种以螺旋方式创建线性图案的方式写入纯文本的方法。示例-当使用键3将“ FOOBARBAZQUX”设置为栅栏时。 F . . . A . . . Z . . . . O . B . R . A . Q . X O . . . B . . . U 逐行读取上述螺旋,密文变为“ FAZOBRAQXOBU”。 阅读更多内容- 铁路围栏密码-维基百科。 欢迎使用任何语言的代码。 以字节为单位的最短答案将获胜。

10
非传递性骰子游戏
那些喜欢Numberphile的人会熟悉James Grime博士,他在他的频道上描述了一种非过渡性的骰子游戏。 游戏包含三个6面骰子: 模具1:3,3,3,3,3,6 骰子2:2,2,2,5,5,5 模具3:1,4,4,4,4,4 两个玩家各自选择要使用的骰子。他们滚动他们,更高的骰子获胜,无论如何。 概率上,死亡1击败死亡2的机会大于50%。同样,骰子2击败骰子3,有趣的是,骰子3击败骰子1。 写一个程序服用1,2或3作为输入。这表示用户选择的骰子。然后,程序选择可以击败用户的骰子,并输出21卷的结果,“ Computer/User wins with x points” 规则 代名词高尔夫,以决胜局形式投票 您必须使用RNG(或类似工具)来实际模拟骰子掷骰。 我对输出格式不太严格。只要显示骰子就可以,以某种方式在21卷之间分开(与在同一卷中分开骰子的方式不同),并在上面输出该句子。 输入可以是标准输入,命令行自变量,来自屏幕等。 例 输入值 1 输出量 4 3 4 3 4 3 4 3 4 3 4 3 4 3 4 3 4 3 4 6 1 3 4 3 4 3 1 …
10 code-golf  game  random 

12
改变随机发生器的骰子
介绍 您将获得具有以下实现的随机整数生成器 第一次调用总是返回1。 第二次调用返回1到2之间的随机整数。 第三次调用返回1到3之间的随机整数。 第n次调用返回1到n之间(包括1和n)的随机整数。 根据上述函数,编写一个完全随机的随机骰子生成器,以相等的概率返回一个介于1到6(含)之间的值。 规则 您的程序/函数应以某种可用的形式(例如,到标准输出或作为函数返回值)得出1到6之间的一个随机整数(包括1和6)。 上面的升序随机数生成器可以定义为程序中的“自由”函数(即不计入字符数),也可以定义为根据需要执行的单独脚本/程序(假定状态(n)是持久性的)通话之间。 假设在您的程序的单个使用案例中,请求的掷骰子次数不会超过1000,并且可以将初始随机数生成器重置为11000掷骰子,以避免溢出n。 除了上面定义的升序随机生成器外,您的程序不得使用任何其他随机数源。您当然可以为每个骰子掷骰输出向随机数生成器请求多个随机数。 这是代码高尔夫球,因此如果出现平局,获胜者将是最短答案或最多选票。如果您可以使用少于1000个生成的随机数生成1000个骰子掷骰,请给自己10点效率奖励。 例 ./asc-rand 1 # random integer between 1 and 1 ./asc-rand 1 # random integer between 1 and 2 ./asc-rand 3 # random integer between 1 and 3 ./asc-rand 4 # random integer between 1 and 4 …
10 code-golf  random 

6
打印音乐片段中的间隔大小
背景 在西方音乐中,每个音符都有一个分配的名称。在每个八度音程中,按以下顺序排列十二个唯一音符:“ CC#/ Db DD#/ Eb EFF#/ Gb GG#/ Ab AA#/ Bb B C”,其中最后一个C比第一个高八度。 为了区分不同八度音符之间的区别,在音符名称的末尾附加了一个数字(此挑战仅限于一个数字)。因此,C5是比C4高八度的音符。Bb6高于B5。 一个重要的事实是,B5和C6是彼此相邻的音符,而C0和B9是最低和最高音符。 在任何两个音符之间,存在一个距离,即它们之间的半音数量。Bb4是B4之下的一个半音,它本身是C5之下的一个半音。一个八度音阶中有十二个半音,因此Bb4与A#3的距离为12,因为它比A#3高八度音阶(请注意,单个音符最多可以具有两个名称)。 挑战 您面临的挑战是编写尽可能最短的程序,该程序可以从STDIN中获取音符列表,并将间隔更改列表打印到STDOUT。 输入内容将是音符的空格分隔列表。每个音符将由一个大写字母AG,一个可选的b或#符号以及一个数字组成。您将不必处理E#/ Fb或B#/ Cb。输入示例: C4 D4 E4 F4 G4 A4 B4 C5 C4 输出将是一个用空格分隔的整数列表,这些整数表示每个连续音符之间的距离,并始终以+或-作为前缀,以显示该音符相对于前一个音符是升还是降。输出的数字总是比输入的音符少一个。上述输入的示例输出: +2 +2 +1 +2 +2 +2 +1 -12 其他一些示例输入: E5 D#5 E5 B4 E5 F#5 E5 B4 C0 …

13
列表操作
受到这个问题的启发。 给定一个包含数字的列表,打印: 列表中数字的总和与乘积 平均值和中位数 列表中每个词之间的差异(例如[1,2,3] -> [1,1]: 1+1=2, 2+1=3) 列表,升序排列 列表的最小值和最大值 列表的标准偏差 以供参考: 标准偏差 其中μ是平均平均值,x i是i列表中的第th项,是列表N的长度。 最短的代码获胜。祝好运!

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.