Questions tagged «code-golf»

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

24
文件权限
文件权限 代码高尔夫球 改编自UIL-计算机科学编程免费答案问题“ Carla”,适用于2018年学区。 介绍 在类似UNIX的操作系统中,每个文件,目录或链接均由“用户”“拥有”,该“用户”是“组”的成员,并且具有由十个字符的字符串表示的某些“权限”,例如“ drwxrwxrwx”。第一个字符为“ d”,“-”或“ l”(目录,文件或链接),后跟三组“ rwx”值,表示“读,写,执行”权限。第一组是用户的权限,中间是组的权限,第三组是该对象的其他所有人的权限。 这些权利中的任何一项均被拒绝的许可由“-”代替“ r”,“ w”或“ x”表示。例如,样本目录许可权字符串将为“ drwxr--r--”,指示用户的完整目录权限,但指示组成员和所有其他用户的“只读”权限。 每个“ rwx”组合也可以用八进制值(0-7)表示,其中最高有效位表示读取许可,第二高有效位表示写入许可,最低有效位表示执行许可。 挑战 给定一个由以下四个字符组成的代码字符串:“ D”,“ F”或“ L”,然后是一个三位数的八进制整数值(例如664),输出表示许可值的10个字符串指示。 输入项 您的程序或函数可以从标准输入中读取输入(将输入四个字符,可以选择后面跟换行符),也可以将输入作为参数传递。 您的程序可以接受大写或小写输入,但必须一致(所有输入均为大写或所有输入均为小写)。 输出量 您的程序必须输出结果的十个字符的字符串,该字符串表示以上面指定的确切格式表示的权限值。允许拖尾空格。 测试用例 输入:F664输出:-rw-rw-r-- 输入:D775输出:drwxrwxr-x 输入:L334输出:l-wx-wxr-- 输入:F530输出:-r-x-wx--- 输入:D127输出:d--x-w-rwx 计分和规则 禁止使用标准孔。 适用标准规则。 请提供链接以测试您的代码以及说明。 这是代码高尔夫球,因此最短答案以字节为单位!
26 code-golf 

19
简单的字符串反射
让我们从定义字符串中字符的反射开始: 给定一个字符串,该字符串具有不同的小写字母字母,且不带空格,例如abcdefg,则将字符串中的字母反射c(不更改任何其他字母的顺序)定义为字符串中的新位置,以使字母的数量最初现在,它右边的字母是它左边的字母数。 因此,信的反射c中abcdefg会abdecfg。说明:的右边有4个字母c,现在,的左边有4个字母c。 其他示例: 反映性格e中myfriend就会形成串myefrind 反映性格a中axyz会形成串xyza。 反映性格b中abc会形成串abc。 反映性格d中d会形成串d。 反映性格e中ef会形成串fe。 有关更多信息或尝试一些测试用例,这是我用C ++编写的(有点长)程序。 挑战 给定一个带有不同小写字母的字符串,请按字母顺序遍历每个字符,然后将其“反映”在字符串中。 说明:字符串中的字母来自a-z,没有空格,字母是唯一的,字符串的长度至少为1个字母,最长为26个字母。 例子 输入:dcba。输出:dcba。 原因:首先,应反映a字母,因为它是字母中最早出现的字符串中的字符。你会得到adcb。然后,反映b字母中紧随其后的以获得badc。然后,反映c得到cbad,然后d得到dcba。 输入:myface。输出:fyecma。 提示:按顺序浏览字母a, c, e, f, m, y。 输入:a。输出:a。 输入:acb。输出:bac。 输入:cwmfjordbankglyphsvextquiz。输出:ieabhqzugdltkfnvpjxsormycw。 计分 输入和输出可以通过任何方便的方法给出。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 发布后约100小时接受。 现任优胜者 显示代码段 <style>body { text-align: left !important} #answer-list { padding: 10px; width: 290px; float: left; } #language-list …
26 code-golf  string 

9
2D阵列中最大的矩形
输入项 板子:字母的2D容器(矩阵,列表列表等),例如: ["B", "C", "C", "C", "C", "B", "B", "C", "A", "A"], ["B", "A", "C", "B", "B", "A", "B", "B", "A", "A"], ["B", "C", "B", "C", "A", "A", "A", "B", "C", "B"], ["B", "B", "B", "A", "C", "B", "A", "C", "B", "A"], ["A", "A", "A", "C", "A", "C", "C", "B", …

3
高尔夫免费午餐
在给定汇率表的情况下,找到最大获利的交易所序列。 例如,考虑货币的一个 riary(你的本国货币),乙 AHT,Ç EDI和d,其中从一个到另一个率(任何交易率已经征收后)由(行,列)在入门给出ENAR汇率表如下: TO A B C D A 0.9999 1.719828 4.509549 0.709929 F B 0.579942 0.9999 2.619738 0.409959 R O C 0.219978 0.379962 0.9999 0.149985 M D 1.39986 2.429757 6.409359 0.9999 显然,用A交换A并不是一个好主意,因为这张桌子会很乐意向您收取任何费用。 不太明显,但在此表中是正确的,将A交换为任何其他货币,然后再次交换回去会造成损失: via B: 1.719828 × 0.579942 = 0.997400489976 via C: 4.509549 × 0.219978 = 0.992001569922 …

12
扩大压缩的脑裂
此挑战是2018年4月LotM挑战以及Brain-flak 2岁生日的一部分 我在考虑编码Flask程序的最有效方法是什么。由于只有8个有效字符,因此显而易见的事情是将每个字符映射到3位序列。这肯定是非常有效的,但是仍然很多余。我们可以利用脑剥落代码的某些功能来缩短编码。 全部由2个匹配的方括号表示的nilads实际上充当单个信息单元,而不是2。如果我们用单个字节字符替换每个方括号,这将使编码小得多而不会丢失任何数据。 这个不太明显,但是monad 的结束字节也是多余的。您认为您可以猜出'?'以下代码段中的字符代表什么吗? {(({}?<>?<>? 如果我们假设输入的内容是有效的大脑标志,那么每个问号只有一个选项。这意味着我们可以明确地使用close monad字符来表示每个结束括号。这具有使字符集保持较小的附加好处,如果我们想使用霍夫曼编码,这将大有帮助。由于接近的monad字符很可能会成为最常见的字符,因此可以用一点来表示,这非常有效。 这两个技巧将使我们通过以下算法来压缩脑筋代码: 用替换monad的每个右括号|。换句话讲,将每个未在开头匹配之前的右方括号替换为小节。所以... (({})<(()()())>{}) 会成为 (({}|<(()()()||{}| 用它的封闭支架替换所有的尼拉丁。因此,其中没有任何内容的匹配方括号将使用以下映射: () --> ) {} --> } [] --> ] <> --> > 现在我们的最后一个示例变为: ((}|<()))||}| 删除尾随|字符。因为我们知道小节的总数应等于({[<字符总数,所以如果末尾缺少小节,我们可以推断出它们。因此,例如: ({({})({}[()])}) 会成为 ({(}|(}[) 今天的挑战是逆转这一过程。 给定一串只包含字符的压缩后的Flask,将其(){}[]<>|扩展为原始的Flak代码。您可以假设输入将始终扩展为有效的大脑标志。这意味着输入的前缀中|最多不会包含({[<字符。 输入将不包含结尾|字符。这些必须从上下文中推断出来。 与往常一样,您可以提交完整的程序或函数,并且输入/输出格式是允许的。并且由于这是一个代码高尔夫,因此您的代码将按源代码的长度(以字节为单位)进行评分,分数越小越好。 测试用例 这是一些测试用例。如果您想要更多,可以使用此python脚本和Brain-Flak Wiki生成自己的测试用例,这是大多数测试用例的来源。 #Compressed code #Original code ()))) (()()()()) ([([}()||||(>||{(})|>|}{((<}|||>}|}>} ([([{}(())])](<>)){({}())<>}{}{((<{}>))<>{}}{}<>{} ({(}|(}[)|||} ({({})({}[()])}{}) …

30
往上走!
给定整数N,请执行以下步骤:(以9为例)。 接收输入N。(9) 将N从base10转换为base2。(1001) 每增加1。(2112) 将结果视为base3并将其转换回base10。(68) 返回/输出结果。 输入项 可以以任何合理的数字格式接收。 您只需要处理N> 0的情况。 输出量 以数字或字符串形式返回,或打印到stdout。 规则 这是代码高尔夫球,以字节为单位的最短代码获胜。 禁止默认漏洞。 测试用例 1 -> 2 2 -> 7 5 -> 23 9 -> 68 10 -> 70 20 -> 211 1235 -> 150623 93825 -> 114252161

1
三维象棋
为了捍卫某人的莫名其妙的决定,人们经常说那个人在每个人的头顶上方,下着“ 3D国际象棋”。现在,您就有机会下3D象棋! 规则 3D Chess有很多变种,但是对于这个挑战,我已经做好了自己的准备。我的版本与常规国际象棋一样,除了棋子位于立方体而不是正方形内,并且现在具有更大的运动尺寸。为了使这一挑战变得简单,没有典当也没有铸造。 件运动 (指南针方向是指在标准棋盘上发生的移动,“向上”和“向下”是指在3D棋盘上垂直移动)。 国王 -在给定的回合上可以移动26个正方形:N,NE,E,SE,S,SW,W,NW; 以及上,下和上/下+指南针方向之一。 女王 -可以朝国王的方向移动,但只要她想朝这些方向移动即可。 车鸦 -可以在6个方向上移动:N,E,S,W,向上和向下, 毕晓普 -有旅行的8个triagonal方向:NE +上/下,SE +上/下,SW +上/下,NW +向上/向下 骑士 -一个轴移动2个空间,然后再移动1个空间。就像普通的国际象棋一样,骑士是唯一可以超越其他棋子的棋子。 零件测试仪 使用此代码段查看不同块在3D板上的移动方式(提示:*Test只需根据距块的绝对距离,即可查看JS中的功能,以快速确定正方形是否为有效移动。): const color = "Black"; const pieces = ["N","B","R","Q","K"]; const urls = ["https://image.ibb.co/gyS9Cx/Black_N.png","https://image.ibb.co/dknnzc/Black_B.png","https://image.ibb.co/kb3hXx/Black_R.png","https://image.ibb.co/hGO5kH/Black_Q.png","https://image.ibb.co/jApd5H/Black_K.png"]; var dragPiece; var size = 3; var index = 0; function start() { Array.prototype.add …

30
实施惰性删除排序
这个挑战已经描述了dropsort。但是,我有点懒,我真的只需要对数组进行比以前更多的排序,就不必一直对它进行排序了。 在“丢弃排序”中,我们将每个元素丢弃的数量要少于之前的任何元素。在“延迟删除排序”中,我们删除的每个元素都小于严格位于其前面的元素。 这是一个例子。考虑以下数组: 8 6 9 9 7 2 3 8 1 3 让我们标记每个元素少于之前的元素。 8 6 9 9 7 2 3 8 1 3 ^ ^ ^ ^ 注意,既没有3标记,也没有标记8。它们都比它们左侧的单个元素大。 完成算法,除去标记的元素,我们得到: 8 9 9 3 8 3 这基本上看起来更加排序。金田 我很懒。 您可能已经推断出,您的任务是实现此算法。 输入是1到9之间的至少1个正整数的数组,因此您也可以使用数字字符串。 这是代码高尔夫球,最少字节获胜! 其他测试用例: 1 1 1 2 3 1 2 3 …

22
稀释整数和
可以通过在二进制扩展的两位之间插入a 来稀释正整数0。这意味着- n位数字具有n-1稀释度,稀释度不一定全部不同。 例如,对于12(或1100以二进制形式),稀释为 11000 = 24 ^ 11000 = 24 ^ 10100 = 20 ^ 在此挑战中,我们将取所有稀释液的总和,不包括原始数量。因为12,取24, 24, 20结果的总和68,因此68的输出也应该是12。 挑战 给定一个正整数n > 1作为输入,输出/返回如上所述的稀释总和。 例子 in out --- --- 2 4 3 5 7 24 12 68 333 5128 512 9216 规则 可以假定输入和输出适合您语言的本机整数类型。 输入和输出可以任何方便的格式给出。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

12
确定井字游戏获胜者(基于回合)
让我们玩一些代码高尔夫球! 挑战在于找到井字游戏的赢家。 这是通过给董事会指定一个明确的获胜者来完成的,但有很多不同之处: 单元格编号如下: 1|2|3 -+-+- 4|5|6 -+-+- 7|8|9 您将获得一个由9个动作组成的数组,如下所示: {3, 5, 6, 7, 9, 8, 1, 2, 3} 解析如下: 玩家1标记单元格3 玩家2标记单元格5 玩家1标记单元格6 玩家2标记单元格7 玩家1标记单元格9 玩家1赢了 注意:一个玩家获胜后,游戏不会停止,有可能失败的玩家在获胜的玩家之后设法连续获得3个,但只有第一个获胜者才算。 您现在的工作是获取9个数字作为输入,并输出获胜玩家和获胜回合。如果没有人获胜,请输出您选择的常量。您可以通过任何标准均值/格式接收输入并提供输出。 玩得开心! 根据要求提供更多示例: {2,3,4,5,6,7,1,8,9} => Player 2 wins in round 6 {1,2,4,5,6,7,3,8,9} => Player 2 wins in round 8 {1,2,3,5,4,7,6,8,9} => Player 2 …

29
旋转总和
以包含正整数的方阵为输入,并计算该矩阵的“旋转总和”。 轮换金额: 取原始矩阵与旋转90、180和270度的同一矩阵的总和。 假设矩阵为: 2 5 8 3 12 8 6 6 10 那么旋转后的总和将是: 2 5 8 8 8 10 10 6 6 6 3 2 3 12 8 + 5 12 6 + 8 12 3 + 6 12 5 = 6 6 10 2 3 6 8 5 …

30
非零数字产品挑战
最初是乘法数字根 挑战 基本上按照标题说 方法 通过我们的一种标准输入法,给定正整数 1 <= N <= 100000000,将每个数字相乘,而忽略零。 例如:拿一个数字,说361218402: 3* 6=18 18* 1=18 18* 2=36 36* 1=36 36* 8=288 288* 4=1152 1152* 1 (忽略零或将它们变成1) =1152 1152* 2=2304 的输出361218402是2304 测试用例 1 => 1 其他数字> 0 =>本身 10 => 1 20 => 2 100 => 1 999 => 729 21333 …

18
我是“重新预订”号码吗?
Redivosite是一个portmanteau单词,仅是本次挑战的目的。它是归约,除法和复合的混合。 定义 给定整数N> 6: 如果N为质数,则N不是重新定义的数字。 如果N是复合的: 重复计算N'= N / d + d + 1直到N'为素数,其中d是N大于1 的最小除数 Ñ是Redivosite数当且仅当的最终值N”是的除数Ñ 下面是100个第一个Redivosite编号(发布时没有OEIS条目): 14,42,44,49,66,70,143,153,168,169,176,195,204,260,287,294,322,350,414,462,518,553,572,575,592,629,651,702,726,735,775,806,850,869,889,891,913,950,1014,1023,1027,1071,1118,1173,1177,1197,1221,1235,1254,1260,1302,1364,1403,1430,1441,1554,1598,1610,1615,1628,1650,1673,1683,1687,1690,1703,1710,1736,1771,1840,1957,1974,2046,2067,2139,2196,2231,2254,2257,2288,2310,2318,2353,2392,2409,2432,2480,2522,2544,2635,2640,2650,2652,2684,2717,2758,2760,2784,2822,2835 例子 N = 13:13是质数,因此13不是Redivosite数字 N = 32:32/2 + 3 = 19;19不是除数或32,因此32不是Redivosite数字 N = 260:260/2 + 3 = 133,133 / 7 + 8 = 27,27 / 3 + 4 = 13;13是除数或260,因此260是Redivosite数字 你的任务 给定整数N,如果它是Redivosite …

1
欢乐欢乐
背景 美国对接送服务有着独特的热爱-故意操纵选举区来预测某些投票结果。就在最近,最高法院审理了一个载人妖案。尤其是与种族有关的游击队员被裁定为非法,并导致要求重划分区线。 给定一个自治市的矩形地图(二维数组),您将绘制区域线以帮助您的政党获得最大的代表权。就是说,你会很高兴。每个市政当局都有两个政党,0并且1。地图将由正方形0或正方形组成1。这是一个示例地图: 挑战 您将地图分组为地区,以便该1聚会至少获得输入所指定的地区数。 输入项 输入将包括一张地图,要绘制的区域数以及该1方需要赢得的最小区域数(最小分数)。 输出量 输出将是各地区的地图。每个地区将唯一地由大写字母组成。是的,这意味着不超过26个区。 如果没有可能的输出,则输入的一方赢得了足够的分区,请执行以下任一操作: 打印“我们尝试过...” 致命错误,因为该党在选举结果中受到不可弥补的伤害 或两者 规则(也很重要) 所有地区必须是连续的 地区中可能没有其他地区 每个区必须至少有四个节点。输入内容将与规则一致,这意味着number_of_districts * 4地图中至少会有节点 每个政党的分数是其占多数的区数 如果一个区的0s和1s 数目相同,那么任何一方都不会从中受益 正常的不作弊规则 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 测试用例 1. Input 1. Output 2. Input 2. Output 3. Input 3. Output districts: 5 Image and map districts: 3 Image below districts: 3 fatal error …

30
以90度输出小时
今天,当我和孩子们玩耍时,我注意到公园里一个看似简单的玩具隐藏了一个挑战。 砂轮有一个三角形,指向一个数字,但也有三个圆,它们指向与第一个数字成90度角的数字。所以: 挑战(真的很简单) 给定任意可接受形式的1到12之间的一个整数(三角形所指向的那个),也可以按照可接受的形式输出并按圆圈所指示的三个数字(每90度对一个数字)进行排序。 测试用例 In Out 1 4, 7, 10 2 5, 8, 11 3 6, 9, 12 4 7, 10, 1 5 8, 11, 2 6 9, 12, 3 7 10, 1, 4 8 11, 2, 5 9 12, 3, 6 10 1, 4, 7 11 2, 5, …

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.