Questions tagged «code-golf»

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

9
建立数字绘图仪
问题改编自唐纳德·M·门罗(Donald M.Monro)的书《Fortran 77》 介绍 数字绘图机被广泛用于生成各种形式的绘图,图形和其他图形结果。大多数此类机器只能在某些方向上移动笔,通常是在X和Y方向上单步移动,或在这两个方向上都移动。典型的机器将沿图1所示的八个方向之一移动: 图 1 挑战 编写一个不包含三角函数的程序,该程序以0到7(含)之间的数字作为输入,并输出图1中端点的相应坐标。 输出应为包含两个元素(即(1, 0)或[0,-1])的数组或列表 I / O表 0 (1, 0) 1 (1, 1) 2 (0, 1) 3 (-1, 1) 4 (-1, 0) 5 (-1, -1) 6 (0, -1) 7 (1, -1) 获奖 以字节为单位的最短代码获胜
11 code-golf 

8
种些花!
春天已经到来,几乎是花朵开始发芽的时候。所以我希望你能帮助他们成长。 你的任务: 给定两个数字,m和n,将输出m花朵随机放置在n*n网格上。 一朵花看起来像这样: & | 一朵花的位置由它所在的位置定义&。随机放置两朵花时,不能在同一位置放两朵花。如果一朵花的&重叠与另一朵花的重叠|,请显示&。最下面一排花可能不包含任何花&。 通过任何标准方法,输入可以是数字或字符串。 输出可以是字符串列表,每个字符串代表网格的一行,或者是与列表相同的准则后的定界字符串。标准输出方法。随行随行,您可以使用标签来分隔花朵。请注意,每个网格必须完全用空格或其他东西填充。 请注意,输入将始终有效,您将始终能够合法地将m花朵放入nby n网格。 测试用例: 由于整个“随机放置”位的原因,只能保证非常严格的测试用例,因此这将是唯一提供答案的测试用例。但是,我将在线尝试所有提交,以确保它们也可以通过一些测试用例有效。 测试用例的输入形式为m, n。 Input: 2, 2 Output: && || -------------- Input: 6, 3 Output: &&& &&& ||| 请注意,Output:测试用例中单词后的换行符是可选的。 其他测试用例: 1、10 0、100 5、8 6、3 编码高尔夫,以最短的编码获胜! 感谢ComradeSparklePony提出的挑战并将其张贴在Secret Santa的礼物盒中!沙盒发布

9
在我的MD2哈希中,哪些字符更常见?
挑战很简单 编写一个脚本,当给定一个字符串输入时,将使用MD2哈希算法对字符串进行哈希处理,然后返回正整数或负整数输出,基于以下结果在十六进制字符串中最常见的字符集如下: 01234567 - (positive) 89abcdef - (negative) 输入将始终是字符串,但长度最多可为65535 整个输入(空格和全部)必须进行哈希处理 出于此挑战的目的,整数0既不视为正数也不为负数(请参阅平局输出) 在32个字符的十六进制哈希字符串中,更常见的字符集是字符集 您的输出可以包含任何类型的尾随空白,只要唯一的非空白字符是有效的真或假输出即可 如果出现平局,则十六进制字符串每组中恰好包含16个字符,程序应输出0 I / O实例 Input: "" (Empty String) Hash: 8350e5a3e24c153df2275c9f80692773 Output: 1 Input: "The quick brown fox jumps over the lazy cog" (Without quotes) Hash: 6b890c9292668cdbbfda00a4ebf31f05 Output: -1 Input: "m" (Without quotes) Hash: f720d455eab8b92f03ddc7868a934417 Output: 0 获胜标准 …

9
解码隐藏的消息!
介绍 有一天,您只是在CIA的办公室里放松,突然间您在计算机上看到警报。您的程序刚刚截获了数百条编码消息!快速检查可以发现编码规则,但是您需要一个程序才能快速解码。 挑战 您将得到一个字符串列表,以逗号分隔。每个字符串将包含: 编码消息的一部分 如果不是形式,则它是编码消息的一部分a=b。请注意,如果是,则它是消息的一部分ab=c。将此字符串添加到编码消息中。 编码方案的一部分 这将采用的形式a=b。这意味着消息中的所有a必须替换为b。请注意,它可能是a==,表示所有a必须替换为=。 然后,您的程序必须输出消息,并使用找到的方案对其进行解码。 其他信息:您的输入将仅包含用于分隔字符串的逗号。它可能包含其他字符,例如!1#等。它将不包含大写字母。解码信息的各个位不会相互解码。只有消息受解码信息影响。每个字符只能有一个替换,例如:"io,"i=u","i=g" 例子 输入:"ta","y=s","y","a=e","b=t","b"," ","j","j=1" 输出:test 1 输入:"z=p","zota","g=e","yugkb","y=t","u=o","k=s","li","fg","b==" 输出:potatoes=life 输入:"p","=","==n","ot","p=a","hiz","i=e","z=r" 输出:another 这是代码高尔夫球,因此最短答案以字节为单位!

3
创建ASCII艺术作品!
给定类似这样的ASCII艺术字串(这不是ASCII艺术字,但将在示例中起作用): abc d e fgh 像将其显示在屏幕上一样,每行显示一个字符,将其弄乱,就像这样: a b c d e f g h 打印结果,等待一秒钟,±0.5秒,然后再清除端子并打印相同的内容,但是每行显示2个字符而不是1。基本上,显示宽度从1变为2。 ab c d e fg h 注意d。后面的空格。重复等待,然后每行添加一个额外的字符,直到输出输入的文本。 如果在尝试打印字符时碰到了行尾,则插入一个换行符并按照此规则打印其余字符。例如输入: abcdefg ab 当显示长度为4时将打印以下内容。 abcd efg ab 您可以在此处找到终端调整大小的效果:https : //repl.it/GoeU/1。运行该程序,然后前后拖动将终端与文本编辑器分开的东西。 澄清: 一旦一行完全按照输入方式显示,您就可以保留该行,以便以后每行增加字符数。 abc ab 应该打印 ab c ab 当句子长度= 2时 这是代码高尔夫球,因此最少的字节数会获胜! 规则: 必须打印到STDOUT作为唯一输出。 必须清除终端,或者通过添加150条左右的空行来创建清除终端的错觉。 可以通过标准方法进行输入。 默认漏洞适用。 尾随带有文字的东西是不好的。 当我调整带有ASCII艺术的终端的大小时,我想到了这个主意。它看起来很有趣,所以我决定提出一个挑战。 …

6
逐位计算指数
您的任务是按照以下步骤缓慢计算幂运算: 给定两个输入(在此示例中为4和8),您必须通过逐位计算方程来计算幂。您会做的4^8,具有更大的基值(4)和较小的指数(8)。您可以使用更多的幂和除法来执行此操作。您可以将指数除以值X(假设X是指数的质数),然后将基值(B)设为B^X。例如,您可以执行以下操作: 4^8 = (4 ^ 2)^(8 / 2) = 16^4 我在前面的方程式中将X替换为2。 您可以16^4再次通过X = 2以下方式进一步“简化” : 16^4 = (16 ^ 2)^(4 / 2) = 256^2 然后最后计算一个数字(再次是X = 2): 256^2 = (256 ^ 2)^(2 / 2) = 65536^1 = 65536 因此, 4^8 = 16^4 = 256^2 = 65536 这是您应该提供的输出。输出分隔符有点灵活,例如,您可以用换行符或空格代替来分隔方程式=。或者,您可以将它们放入列表中(但不能使用数字或^字符作为分隔符)。 正如马丁·恩德(Martin Ender)所指出的那样,^它也很灵活。例如,您可以在输出中使用[A, …

4
排行榜高尔夫
在此问题的排行榜上打高尔夫球(id = 111735)。您的程序应向StackExchange API 发出一个 HTTP或HTTPS请求,将其解析并以类似于典型的页首横幅代码段的形式呈现给用户 示例输出(对于问题47338而不是此问题): Leaderboard Author Language Size 1. FryAmTheEggman Pyth 19 2. Peter Taylor CJam 24 3. Martin Ender CJam 27 3. Peter Taylor GolfScript 27 5. randomra J 32 5. Optimizer CJam 32 7. Timtech TI-Basic 83/84 40 8. mollmerx k 41 9. Sp3000 ><> …

12
比萨,比萨,深盘比萨!
4月5日是全国深层披萨节,这一挑战的主题。给定一个正整数n(n大于0),创建一个ASCII深盘披萨。显示的实际深盘披萨: 如您所见,比萨的底部和其他部分周围都有一层硬皮。 如何做比萨 地壳由两层组成。第一层将又n高又n*3长。长度是最高行中的字符数(包括空格)。因此给定n为1,第一层将如下所示: \_/ 1 character tall 3 characters long 如果n是两个: \ / 2 characters tall \__/ 6 characters long 现在为地壳的第二层。它将位于第一个内部结皮之外,因此它将是n+2字符高而(n*3)+6)字符长。给出的n是一个: \ / 3 characters tall \ / \___/ 9 characters long (3 underscores, 3 slashes on either side) 如果n是两个: \ / 4 characters high \ / \ / …

9
计算ELO等级预期分数
您的任务是计算某些游戏中两名玩家的预期获胜机会,每个玩家都有自己的ELO评分。玩家A有ELO R a,玩家B有ELO R b 玩家A的预期得分(E a)为:1 /(1 + 10 (R b -R a)/ 400)。玩家B(E b)有一个类似的方程:1 /(1 + 10 (R a -R b)/ 400)。 如果您想要一个更可复制的版本: 1 / (1 + 10^((a-b) / 400)) E a + E b应该等于1。 因此,玩家的分数是他们赢得比赛的预期机会(以十进制表示)。 您的程序/功能应采用2个输入,即玩家A的ELO和玩家B的ELO,并打印/返回它们各自以十进制格式获胜的机会。输出必须加一,并且您必须精确到至少5个小数位(0.00000)。小数点后5位后,如果两个输出仍加起来为1,则您的数字可能不正确。 例子: 1200 2100 -> 0.005591967 0.994408033 1 1 -> 0.5 0.5 …
11 code-golf  math 

18
排序并重新应用阵列的增量
看来,任何简单的 修改使用一致的功能三角洲的几乎总是可以做一些其他的更短的 方式,丹尼斯。因此,我能想到的唯一使它变得更困难的解决方案是引入某种不一致的功能。 排序。 您的任务是获取一个整数数组,对它们的增量进行排序,然后重新编译以提供新的整数数组。 例如。 对于输入: 1 5 -3 2 9 获取以下增量: 4 -8 5 7 然后,对这些增量进行排序,得出: -8 4 5 7 并重新应用它们,将得到: 1 -7 -3 2 9 输入输出 您将得到一个列表/数组/表/元组/堆栈/等。通过任何标准输入法输入的带符号整数的数量。 您必须按照上述增量排序方法,以任何可接受的形式再次输出修改后的数据。 您将收到N个输入,0 < N < 10其中每个数字都在该范围内-1000 < X < 1000 测试用例 1 5 -3 2 9 -> 1 -7 -3 …

5
欠负荷打高尔夫球的技巧
欠载是通过创建一个基于堆栈的半功能那tarpit ais523。我最近一直在尝试打高尔夫球,因为这是一种令人惊讶的优雅语言。 您在Underload打高尔夫球有哪些秘诀?(每个答案一个提示)

13
在3x3网格中返回邻居索引
好吧,我第二次尝试打高尔夫,让我们看看这是怎么回事。 假设您有9个值的数组。现在,假设该数组位于3x3网格中。 您需要返回该数字作为数组索引的邻居。 0 | 1 | 2 3 | 4 | 5 6 | 7 | 8 规则: 这是代码高尔夫球,所以最短的答案会获胜。 假装数组的索引可以从0或1开始(尽管所有示例都使用0)。 仅返回值的值会让人皱眉(如if 3: return 046) 提交可以只是一个过程/函数/方法,但是一个例子会很好 返回的值可以是任何顺序(例如,如果输入为0,则可能为13或31) 如果需要,输出可以是数字列表,例如[0,4,6]代替046 如示例所示,对角线不计算在内。 例子: 输入: 0 输出: 13 输入: 3 输出: 046 输入: 4 输出: 1357
11 code-golf  grid 

1
给我做寿司
现在是午餐时间,我饿了,我来到了你的寿司吧。您是寿司厨师,您必须制作一个完整的程序或功能才能让我做一些寿司! 学分:维基百科 免责声明:图像仅用于说明目的,不一定代表确切的产品。 尽管您的配料有限(由于卡车司机罢工),但对我来说很好。 您拥有的成分(数量很多)是: 紫菜(用:制成\/_¯|) 生金枪鱼(T) 生鲑鱼(S) 生鳄梨(A) 寿司饭(o) 有了这些成分,您就可以为您的客户制作一些美味的寿司。 您的最低订购量为2个makis $ 1,您只能成对制作makis,并且只接受整数作为付款。您接受每人最多$ 50(总投入)的订单是因为您一个人,必须满足所有客户的要求。 您将需要以任何合理的格式从标准输入中获取客户的订单,例如:[1,T],[2,S],[3,A]这意味着您必须输出: 两个金枪鱼牧羊犬 四鲑鱼 六个鳄梨Makis 一个maki就是这样制作的: _____ /ooooo\ |ooTTToo| |\ooooo/| | ¯¯¯¯¯ | \_____/ 而且,由于您是一名出色的寿司厨师,因此,您总是将带有任何给定类型的碎片的maki排列成正方形或至多呈矩形(尽可能接近正方形)而没有间隙。总体形状也为正方形或矩形,在上述限制条件下,尽可能接近正方形,没有间隙。 输入/输出示例: Input: [1,T],[2,S],[3,A] Valid Output: _____ _____ _____ _____ /ooooo\ /ooooo\ /ooooo\ /ooooo\ |ooTTToo||ooTTToo||ooAAAoo||ooAAAoo| |\ooooo/||\ooooo/||\ooooo/||\ooooo/| | ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ …

16
繁琐的7条规则
破败不堪 创建一个程序,该程序生成带有随机数的随机长度数组,然后应用一系列更改数组的规则。应用规则后,除非另有说明,否则打印数组的总和 阵列设定 数组的长度必须在5到10之间(包括1和20),并且必须是1到20之间的随机整数。每个数组长度应具有相等的发生概率,每个整数应具有相等的概率被每个元素拾取。 7条规则 规则应像按顺序应用一样起作用(例如:规则1在规则2之前执行),并且仅应用一次。对于规则应用证明,必须在每个规则应用之后且应用任何规则之前将阵列打印到控制台一次。 如果数组包含7,则从每个元素中减去1 如果应用了规则1,并且数组现在包含0,则向每个元素添加1 如果数组包含13,则从数组中排除13及其后面的所有元素 如果数组包含2,则排除所有奇数 如果数组包含20,并且第三个元素为偶数,则返回20作为总和,然后终止。如果存在20并且第三个元素为奇数,则返回数组长度的20倍作为总和,然后终止。 如果总和大于50,请重复删除最后一个元素,直到小于或等于50 如果数组包含16,则用十进制和十六进制打印总和。 例 这是一个初始数组, [20, 2, 5, 7, 14, 8] 可以应用规则1: [19, 1, 4, 6, 13, 7] 接下来应用规则3: [19, 1, 4, 6] 不需要其他规则,因此程序返回30作为总和。 笔记 我不是一位经验丰富的代码高尔夫球手,尽管我可以说我的个人记录是369个字节的 Python 3 。 规则不必按顺序实际应用,而必须像它们一样应用。

8
SmileBASIC中打高尔夫球的技巧
SmileBASIC值得更多关注。我在这里只看到3个用户(包括我自己!)提供SB答案,虽然这并不令我感到惊讶,但令我感到失望。它既是一种付费语言,又是一种BASIC方言,无疑会使人们失望,但是对于拥有它的人来说,它实际上是相当灵活的,而且令人惊讶的是,它可以打高尔夫球。我以为自己会打开此提示线程,然后看看会发生什么。 我希望12Me21可以经常访问:)
11 code-golf  tips  basic 

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.