Questions tagged «code-golf»

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

6
Gif-Jif,Jif-Gif
经许可从@Downgoat失窃 这个挑战的重点是(不)解决有关“ gif”的发音的争论。 ” gif的发音有争议,虽然应该(应该)发音 JIF,它仍然普遍争议。 在本次挑战中,您将获得一组带有g或j的单词,代表该单词发音的声音。您还将得到一些文本,必须在其中纠正gif的不正确拼写。 因为这是互联网,每个人总是错的。改正(不常见)礼貌。 错误发音的一个例子是: 有只老鼠吃着卷饼的GIF gif的拼写错误?不能接受!必须立即更正此问题: 有只老鼠在罐子里吃着墨西哥玉米煎饼 我们完了吗?不,你还是错的。 你总是错的 这必须以另一种方式起作用: 在JIF猫戴着一只猫的帽子 必须纠正这种明显的拼写错误,我们将其更正为: 在gif中(如图所示),猫戴着猫的帽子 规则 输入是任意顺序的字符串(句子)和字符串数组(或任何合理的选择,例如逗号分隔的字符串) 您可以任意顺序使用g和j词。它们可以单独使用。 的每个实例gif中的句子(任何情况下)必须被替换jif (as in ___),其中___是均匀的随机选择的字与开始j 从字符串数组,反之亦然为jif与词语开头g。 只有一行字gif,并jif应及时更换(即“瞬间”不应该改变)。这些话没有错。 您可以确保数组中的至少一个单词以开头,g并且至少一个以开头j。 大小写必须保留(例如GiF-> JiF)。 您可以编写程序或函数 适用标准漏洞 我们需要(不)迅速解决辩论;以字节为单位的最短代码获胜 例子 输入和输出用单行分隔: graphic, jar, jam, gram I saw a jif of how to pronounce gif that showed …
24 code-golf  string 

15
救命!我忘记了我的密码!
救命!我刚刚登录Stack Exchange,但是忘记了密码!我需要一种方法来解决这个问题,然后再注销。 幸运的是,我是一名出色的黑客。我不仅能够找到密码的哈希,而且还发现了Stack Exchange的哈希算法!它采用每个数字的ASCII值乘以该数字的位置,然后将所有这些值相加。例如: "135" -> 1*49 + 2*51 + 3*53 = 310 我记得我的密码是3位数字,每个字符是一个介于0到5(含0和5)之间的数字(这样它将与regex:匹配^[0-5]{3}$),但是仍然有太多的猜测可能性。我需要一个可以将哈希转换回潜在密码的程序,但是尽管是一名专业的黑客,但我无法编写代码来挽救生命!我可以手动编写这些测试: input -> output 288 -> 000 // lowest possible hash 290 -> 200, 010 298 -> 022, 050, 103, 131, 212, 240, 321, 402, 430, 511 318 -> 555 // highest possible hash 你们中的一个可以为我编写一个程序,该程序将散列并打印我可能使用的所有可能的密码吗? 输入将始终能够产生至少一个有效密码。只要可以清楚地标识字符串,就可以使用任何输出格式。我也不担心前导零,因此,如果可能的密码是001,我也将接受01或1。 请帮助我避免被Stack …
24 code-golf  math 

10
将TIO答案转换为CMC答案
让我们一次做一些有用的事情。 给定来自在线试用代码提交的文本,请生成等效的“聊天迷你挑战”提交,其形式为 Language, N bytes: [`code`](URL) 或(如果提交是一个字节,TIO仅在需要时在第一行添加尾随) Language, 1 byte: [`code`](URL) 您可以假设提交 只有一行 不包含反引号(`) 没有前导空格 具有以下示例中所示的常规格式;代码行缩进了四个空格( ),而不是HTML标记(<pre><code>… </code></pre>),即没有尾随空格。 请注意,提交内容可能具有语法突出显示标签。请参阅最后一个示例。 您可以选择包括标题文本,即…url "Language - Try It Online"。 例子 给定 # [05AB1E], 1 byte Ô [Try it online!][TIO-j3v72bss] [05AB1E]: https://github.com/Adriandmen/05AB1E [TIO-j3v72bss]: https://tio.run/##MzBNTDJM/f//8JT//zNSgSAnJycfDAA "05AB1E – Try It Online" 返回 05AB1E, 1 byte: [`Ô`](https://tio.run/##MzBNTDJM/f//8JT//zNSgSAnJycfDAA) 要么 …

30
将清单对折
我们将折叠一个整数列表。这样做的步骤如下:如果列表的长度为偶数,请列出其长度的一半,其中新列表的第n个项是旧列表的第n个项与第n个至第n个项之和。旧列表的最后一项。例如,如果我们有列表 [1 2 3 4 5 6 7 8] 我们会像这样折叠 [8 7 6 5] +[1 2 3 4] __________ [9 9 9 9] 如果列表的长度是奇数,则要折叠它,我们首先删除中间项目,将其折叠为偶数,然后将中间项目附加到结果中。 例如,如果我们有列表 [1 2 3 4 5 6 7] 我们会像这样折叠 [7 6 5] +[1 2 3] __________ [8 8 8] ++ [4] __________ [8 8 8 4] …

23
基数密码挑战
任务 您负责制作各种指南针。 想象一下您的源代码是指南针“针”,在不同方向上运行会产生不同的输出。 支持的源代码方向为北,东,南和西。 例 假设您有源代码: ABCD J K WXYZ 我们将其视为北方方向,顺时针旋转90度将我们指向东方: W A XJB Y C ZKD 再次向南旋转点: ZYXW K J DCBA 最后,最后一次向西旋转: DKZ C Y BJX A W 运行时,以上每个代码示例都应输出一个单独的,不同的可打印ASCII字符供您选择。 笔记 您的代码不得输入。 旋转时,空白空间或新行不会折叠/消失。 输出中的行首/尾行都可以。 答案可能是整个程序或函数,因此输出到STDOUT或返回函数结果。 适用标准高尔夫球规则;以字节为单位的最短答案胜出!

27
向阵列施加波
今天的任务是对数字数组施加波动。波形如下所示:[1, 0, -1, 0, 1, 0, -1, 0, 1...]将其应用于给定数组意味着将第一个元素,第二个元素等加在一起。 更确切地说: 您的程序或函数将接收一个整数数组。它必须打印或返回大小相等的数组,并1添加到原始数组的1st,5th,9th等元素,-1添加到原始数组的3rd,7th,11th等元素,其余元素应该保持不变。 确保输入数组至少包含一个元素。 测试用例: Input | Output [0] | [1] [-1] | [0] [-4, 3, 0, 1, 7, 9, 8, -2, 11, -88] | [-3, 3, -1, 1, 8, 9, 7, -2, 12, -88] [0, 0, 0, 0, 0] | [1 …

20
登峰造极
Numberphile最新视频的标题13532385396179,是下面的函数的固定点˚F的正整数: 令n为正整数。以通常的方式写素数分解,例如60 = 2 2 ·3·5,其中素数以递增顺序写,而指数1被忽略。然后将指数降低到该行并省略所有乘法符号,得到数字f(n)。例如,f(60)= f(2 2 ·3·5)= 2235。 (以上定义来自五个$ 1,000问题中的问题5 -John H.Conway) 请注意,f(13532385396179)= f(13·53 2 ·3853·96179)= 13532385396179。 任务 将正整数复合n作为输入,然后输出f(n)。 另一个例子 48 = 2 4 ·3,所以f(48)= 243。 测试用例 这里有更多的测试用例。 4 -> 22 6 -> 23 8 -> 23 48 -> 243 52 -> 2213 60 -> 2235 999 -> …

30
创建百分号
给定的整数Ñ ≥1,输出2D表示†宽度的百分比符号的Ñ。结构如下: 创建一个由零填充的n × n矩阵(或列表列表)。 在左上角和右下角插入一个。 将它们放在从左下角到右上角的对角线上。 对于输入n = 4,此构造如下所示: 1. 4x4 matrix of 0s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2. 1s in TL and BR corners 1 0 0 0 0 0 0 0 0 0 0 0 …

26
连续奇数之和
尽管已经提出了相关的 挑战,但这一挑战有待提出自己的问题。 挑战 给定一个正整数,返回其总和为给定整数的连续正奇数整数的最长序列。如果不存在这样的序列,则您可能会以对您的语言有意义的任何方式报告错误,包括返回虚假值或引发异常。 测试用例 1-> [1] 2-> [] 3-> [3] 4-> [1,3] 5-> [5] 6-> [] 9-> [1、3、5](请注意,[9]不是有效答案) 15-> [3,5,7] 104-> [23,25,27,29](请注意,[51,53]不是有效答案) 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜。
24 code-golf  number 

21
近似胶号
挑战 的塑料数是相关的黄金比例的数,有许多有趣的数学性质。因此,有许多方法可用于计算数量。 为了精确地为挑战指定数字,我们将使用以下定义(尽管有很多等效定义,并且您可以使用任何希望的定义,只要它涉及相同的数字): 塑料数目是一个实数ρ,使得ρ ³= ρ 1。 您面临的挑战是编写一个程序或函数,该程序或函数将整数x作为输入(x > 1),并生成与ρ近似的输出,因此x的值越大,输出越接近ρ(例外情况最多为几个;为此,保持在与“ closer”相同的值),并且对于任何正数δ,您的程序中都有一些输入x产生的输出在ρ的δ内。 澄清说明 如果您通过固有地输出字符串的方法(例如标准输出流)进行输出,则可以将输出格式化为十进制(例如1.3247179572),或者以两个整数/之间的一个字符的比率进行格式化。 如果要在编程语言中作为值输出(例如,从函数返回),则该值必须为定点,浮点或有理类型。(特别是,您不能使用符号存储数据的数据类型,除非它们仅用于保存两个整数的比率。因此,如果您使用的是Mathematica或类似的语言,则需要包括实际生成输出数字的代码。) 您的答案必须使用您的语言的一种假设变体,其中整数可以任意大,并且内存(包括堆栈)是无限的。您可能不会假设您的语言中的浮点算术是任意准确的,而是必须使用其实际精度(这意味着仅在可以使用浮点数精度的语言中才可以输出浮点数。在运行时进行控制)。 x可以具有您想要的任何含义(只要增加它可以提供更准确的输出)。我想大多数提交将控制它产生的输出位数,或程序用于收敛到可塑数的算法迭代次数,但其他含义也可以接受。 测试用例 这是塑料编号的前几位数: 1.32471795724474602596090885 OEIS上有更多数字可用。 胜利条件 与code-golf一样,以字节为单位,越短越好。但是,请随意发布答案,即使它们没有获胜,只要它们在现有答案中添加一些内容(例如,不同的语言或不同的算法)即可。
24 code-golf  math  number 

3
你好世界-但按字母顺序
这个挑战听起来太简单了,根本不存在,所以让我知道它是否重复。 任务 打印 Hello, world! 规则 您的代码必须为“字节顺序”。这意味着每个字符/字节都比前一个字符/字节具有更高或相等的字节值。 该规则的例外是空格字符,该字符可能出现在任何地方。 在通常的漏洞是不允许的。 编辑:Hello, world!不允许使用内置函数/常量解析。 编辑2:输出可能是返回字符串的(n个匿名)函数,解析为字符串的表达式或您认为应该允许的任何其他方式。 例 HW有效:0x48 (H) <= 0x57 (W) print无效:0x72 (r) > 0x69 (i) 但PRint有效:0x50 (P) <= 0x52 (R) <= 0x69 (i) <= 0x6e (n) <= 0x74 (t) 得分 这是代码高尔夫球,因此得分是字符/字节数。分数越低,排名越高。

28
海量数字
给定一个正整数作为输入,确定它是否是一个海数。 大量数字是指这样的数字,即+以10为底的任意两个数字之间的任何符号插入都会产生质数整数。 例如40427是宽容的,因为 4+0427 = 431 is prime 40+427 = 467 is prime 404+27 = 431 is prime 4042+7 = 4049 is prime 输出量 您应该输出两个不同的值,一个输入是海量值时一个,而另一个输入则不是。 计分 竞赛的目的是使为解决此任务而编写的源代码的大小(以字节为单位)尽可能小。 测试用例 1 -> True 2 -> True 4 -> True 10 -> False 98 -> True 101 -> True 109 -> False 819 …

3
平衡支架
您的目标:给定一串方括号,输出将输入字符串转换为平衡了方括号的字符串所需的最小Damerau-Levenshtein距离。 输入项 输入的字符串将仅包含方括号,并且不包含其他字符。也就是说,它是中任何字符的组合(){}[]<>。您可以将输入作为字符串或字符数组。您不能对输入字符串做任何其他假设;它可能任意长(最大为您的语言支持的最大大小),它可能为空,方括号可能已经平衡,等等。 Damerau-Levenshtein距离 两个字符串之间的Damerau-Levenshtein距离是两个相邻字符的插入,删除,单字符替换和换位(交换)的最小数量。 输出量 输出应该是输入字符串和括号匹配的字符串之间的最小Damerau-Levenshtein距离。输出应为数字,而不是结果平衡的字符串。 如果左括号和右括号的顺序正确且其中没有字符,则将一对括号视为“匹配” () []{} 或者,如果其中的每个子元素也都匹配。 [()()()()] {<[]>} (()()) 子元素也可以嵌套几层深。 [(){<><>[()]}<>()] <[{((()))}]> (感谢@DJMcMayhem的定义) 测试用例 Input Possible Balanced Output Empty Empty 0 [](){}<> [](){}<> 0 [(){}<> [(){}<>] 1 [(]) []() 1 [[[[[[[[ [][][][] 4 (](<>}[>(}>><(>(({}] ()(<>)[(<><>){}] 7 >]{])< []{()} 3 ([)}}>[ (){}<> 4 {<((<<][{{}>[<) <>(<<[]>{}>[]) 5 …


7
找到binarray!
我们将binarray定义为满足以下属性的数组: 它不是空的 第一个值是 1 最后一个值是 1 所有其他值是0或1 例如,数组[ 1, 1, 0, 1 ]是有效的binarray。 任务 给定一个非负整数的非空数组A和一个正整数N的非空数组,您的工作是找到一个长度为N的二进制数组 B,该数组允许通过将不受限制的B个副本的数量相加,再乘以不受限制的B个数量,来生成A。职位。 例 A = [ 1, 1, 2, 4, 1, 2, 2, 1, 0, 1, 0, 1, 1, 0, 1 ] N = 4 对于此输入,binarray B = [ 1, 1, 0, 1 ]将是一个有效的答案,因为我们可以这样做: [ 1, …

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.