Questions tagged «code-golf»

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

18
不要在剪刀石头布中重复自己
在有传闻说Codegolf将会举办Rock-Paper-Scissors锦标赛时,您可以看看无方字的话题。由字母R,组成的单词如果不包含重复两次的序列P,S则是无平方的。也就是说,这个词不能写成 a x x b 其中a和b是任何长度的单词和x至少一个长度的字,所有制成的字母R,P,S。 任务 写生成的程序无平方的字母的字R,P,S长度的n其中数字1 <= n <= 10被作为输入。 例 例如,长度为3 的无平方字为 RPR,RSR,RPS,RSP,SPS,SRS,SRP,SPR,PRP,PSP,PSR,PRS 长度为4的是 RPRS,RPSR,RPSP,RSRP,RSPR,RSPS,PRPS,PRSR,PRSP,PSRP,PSRS,PSPR,SRPR,SRPS,SRSP,SPRP,SPRS,SPSR 并注意例如SPSP或PRPR不是正方形 规则 这是代码高尔夫球,最短的程序获胜,标准漏洞被关闭。 您可以打印单词或在内存中创建单词。 您的程序可以作为函数编写。 参考文献 维基百科条目上的无平方字 给定长度的无平方三进制字数在https://oeis.org/A006156中 相关:任意长度三进制Squarefree词

30
是整数吗?
一个数字是整体如果是不带小数部分的非负整数。所以0and 8和233494.0是整体,而1.1and 0.001和233494.999不是。 输入项 语言的默认基本/编码形式的浮点数。 例如,二元Lambda演算的默认整数表示形式是教堂数字。但是Python的默认整数表示形式是以10为基数的十进制,而不是Unary。 输出量 甲truthy如果输入是全值,falsy值,如果它不是。 请注意,如果您的语言仅支持十进制精度(例如8位),1.000000002则可以视为整数。 输入和输出可以通过任何标准的I / O方法完成。 测试用例 Input -> Output 332 -> true 33.2 -> false 128239847 -> true 0.128239847 -> false 0 -> true 0.000000000 -> true 1.111111111 -> false -3.1415926 -> false -3 -> false 计分 与代码高尔夫球一样,最短的提交将获胜。祝好运!

30
第N个差异
在数学中,一种计算给定关系的类型(线性,二次等)的方法是计算差异。为此,您要获取一个y值列表,其对应的x值之间的差距相同,然后从其上的数字中减去每个数字,从而创建一个比上一个列表短一的数字列表。如果结果列表完全由相同的数字组成,则该关系的差为1(线性)。如果它们不相同,则在新列表上重复该过程。如果它们现在相同,则该关系具有2的差(是二次关系)。如果它们不相同,则只需继续此过程,直到它们相同为止。例如,如果您具有用于递增x值的y值列表[1,6,15,28,45,66]: First Differences: 1 6 1-6 =-5 15 6-15 =-9 28 15-28=-13 45 28-45=-17 66 45-66=-21 Second differences: -5 -9 -5+9 =4 -13 -9+13 =4 -17 -13+17=4 -21 -17+21=4 As these results are identical, this relation has a difference of 2 你的任务: 编写一个程序或函数,当给定整数数组作为输入时,如上所述,该程序或函数返回该数组描述的关系的差。 输入: 整数数组,长度可以大于1。 输出: 一个整数,表示输入所描述的关系的差。 测试用例: Input => …

8
管上某处……但在哪条线上?
在伦敦地铁又名地铁是世界上最古老的地下铁路,它目前由11行(因为“Edgware路”和“哈默”各占据两个位置严格269 **站)* 267个服务站命名 挑战 输出以名称为输入的服务站的线路名称。 输入: 字符串或字符列表 可以假定这是一个有效的站名(如下面的代码块中所列)。 您可以假设&输入中的任何内容将始终是单词and(或And),如果您愿意,只需在答案中清楚说明即可。 输出: 单独的输出列出了服务该站的十一条线路的输出: 字符串列表,字符列表,打印文本,字符串,字符列表;如果有疑问请问。 如果愿意,您可以始终输出单词and(或And)代替任何单词&,只需在答案中清楚说明。 需要注意的是,如果打印或返回一个字符串或字符列表,则在任何行名(包括the &或andor Andused)中都不存在使用的分隔符-子字符串-因此,这排除了使用单个空格字符作为分隔符。 试管网络: -注意:这是最终状态,即使它碰巧包含拼写错误(除非在回答前得到解决) Input (Station Name) : Output (list of tube line names) ---------------------------------------------------------------------------------------------------------------- "Acton Town" : ["District","Piccadilly"] "Aldgate" : ["Circle","Metropolitan"] "Aldgate East" : ["District","Hammersmith & City"] "Alperton" : ["Piccadilly"] "Amersham" : ["Metropolitan"] "Angel" : …

30
欧元硬币和纸币
由于使用欧元的大多数国家/地区都将 ,用作小数点分隔符,因此您也必须使用它。 任务是按升序输出所有欧元硬币和纸币的值。您还必须将尾随,00放在整数值上。 0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00 我既接受标准输出的输出,也可以接受返回数组/列表的函数。如果将输出输出到stdout,则可接受的值之间的分隔符为:空格,制表符或换行符。 除非我看到我觉得很有创造力的答案,否则不会有公认的答案。 code-golf,所以我想按语言知道最短的答案。 更新: 前导0零是不可接受的。抱歉,我应该先说清楚。 更新2: 返回字符串的函数也是可以接受的。

15
МногочленыЧебышёва(Chebyshev多项式)
Chebyshev多项式是一个正交多项式的族,它们在数学中的各个位置弹出,它们具有许多非常有趣的属性。它们的一个特征是它们是满足的唯一多项式。Tn(cos(x)) = cos(n*x) 挑战 给定一个非负整数n,您应该输出n-th Chebyshev多项式。。Tn(x) 定义 该n个切比雪夫多项式由以下三个递推公式给出: T0(x) = 1 T1(x) = x Tn+1(x) = 2*x*Tn(x) - Tn-1(x) 细节 如果您的语言具有本机多项式类型,则可以将其用作输出,否则应按升序或降序输出系数列表,或将其作为代表多项式的字符串输出。 例子 T0(x) = 1 T1(x) = x T2(x) = 2x^2 - 1 T3(x) = 4x^3 - 3 x T4(x) = 8x^4 - 8x^2 + 1 T5(x) = 16x^5 - …

30
输入的对角字母
受此职位启发。对于那些将此问题标记为重复的问题,我敦促您实际阅读该问题,以了解我的问题是对所链接问题的修改。一个链接不要求输入,而只是对角打印字母。 挑战 给定输入(包括1-26)(包括1-26),请对角打印字母,但开始在给定输入的索引处垂直打印。 例子 给定输入: 16 您的程序应输出: a b c d e f g h i j k l m n o p q r s t u v w x y z 输入: 4 输出: a b c d e f g h i j k l m n …

14
分叉文本
给定一串ASCII字母(大写和/或小写),将显示每个字符分叉的字符串所需的原始MathJax输出为上标和下标。例如,输入cat和horse将导致MathJax分别呈现如下的输出: 请注意,只需要输入一个输入-并排列出这两个输入只是为了节省垂直空间。 标记含义 _ 表示下标。 ^ 表示上标。 在包含进一步的上标或下标的上标或下标子字符串周围需要括号,以防止它们都处于同一级别。 测试用例 测试用例采用格式input : output。第一个测试用例显示空字符串作为输入,应导致空字符串作为输出。 "" : "" "a" : "a" "me" : "m_e^e" "cat" : "c_{a_t^t}^{a_t^t}" "frog" : "f_{r_{o_g^g}^{o_g^g}}^{r_{o_g^g}^{o_g^g}}" "horse" : "h_{o_{r_{s_e^e}^{s_e^e}}^{r_{s_e^e}^{s_e^e}}}^{o_{r_{s_e^e}^{s_e^e}}^{r_{s_e^e}^{s_e^e}}}" "bifurcate" : "b_{i_{f_{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}^{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}}^{f_{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}^{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}}}^{i_{f_{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}^{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}}^{f_{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}^{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}}}" 您可以通过将输出粘贴到mathurl.com中来查看它们的呈现方式。 没有多余的括号 MathJax将愉快地渲染具有多余花括号的标记。例如,渲染时下面将所有看起来相同:a,{a},{}{a},{{{{a}}}}。 但是,此挑战的有效输出没有多余的花括号。请特别注意,输出中的单个字符不会被花括号包围。 订购 下标和上标的顺序无关紧要。以下是等效的,并且在呈现时将无法区分(并且都是同等有效的输出): c_{a_t^t}^{a_t^t} c_{a^t_t}^{a_t^t} c_{a_t^t}^{a^t_t} c_{a^t_t}^{a^t_t} c^{a_t^t}_{a_t^t} c^{a^t_t}_{a_t^t} c^{a_t^t}_{a^t_t} c^{a^t_t}_{a^t_t} 计分 对于每种语言,获胜者都是以字节为单位的最短代码。 通知太多?键入</sub>到unsubscript
26 code-golf  string 

30
是半素吗?
令人惊讶的是,我认为我们没有确定数字是否为准素数的代码高尔夫球问题。 半素数是一个自然数,它是两个(不一定是不同的)素数的乘积。 很简单,但是一个非常重要的概念。 给定一个正整数,请确定它是否为半素数。您的输出可以是任何形式,只要它为任何真实或错误值提供相同的输出即可。您可能还假设您的输入足够小,因此性能或溢出都不是问题。 测试用例: input -> output 1 -> false 2 -> false 3 -> false 4 -> true 6 -> true 8 -> false 30 -> false (5 * 3 * 2), note it must be EXACTLY 2 (non-distinct) primes 49 -> true (7 * 7) still technically …

22
这是一个很好的2048板吗?
这是我的第一个问题,因此在评论中提出的任何建议将不胜感激!谢谢 ;) 介绍 2048游戏的一种非常普遍的策略是从不失败。这会将所有大数字放在顶部,将较低的数字放在底部。因此,如果正确应用此策略,则您的开发板将始终符合以下模式: 要检查的模式/您的任务 如果董事会可以这样描述,则您的提交应为完整程序或返回真实值的函数:在董事会的每一列中,第一个数字应为该列的最高值,第二个数字应为较小的值等于或等于第一个数字,以此类推。好的2048板定义为最高编号都位于顶部的板。这是code-golf,所以每种语言的最短Code(以字节为单位)获胜。 输入输出 可以以任何适当的方式获取输入,例如4个数组的数组,每个数组包含4个数字,或者16个数组。总的来说,它将始终是16个数字,代表4x4板 。输出应为真实值,输入应为“ 2048良好板”,否则为假值。 例子 真相: |-------------------| | 16 | | 64 | 8 | |-------------------| | 8 | | 32 | 8 | |-------------------| | 4 | | 32 | 2 | |-------------------| | 2 | | | | |-------------------| |-------------------| | 16 …

24
它是命令词吗?
(此帖子的灵感来自于“ Puzzling”。注意:下面的拼图是令人窒息的。) 标准电话键盘将字母与数字关联如下: 1 -> 2 -> ABC 3 -> DEF 4 -> GHI 5 -> JKL 6 -> MNO 7 -> PQRS 8 -> TUV 9 -> WXYZ 0 -> 如果在使用上述命令将其转换为按键时,给定的输入单词定义为“有序单词”,则该数量为不递减或不递增。换句话说,结果数不能同时增加和减少。 例如,单词CAT翻译为228,它是非递减的,因此是有序单词。但是,单词DOGis 364,它都会增加和减少,因此不是有序单词。 挑战 给定单词,输出是否为有序。 输入项 仅由ASCII字母([A-Z]或任何形式)组成的单词(不一定是词典单词)。[a-z] 您选择输入是全部大写还是全部小写,但必须一致。 该单词的长度至少为3个字符。 输出量 输入的单词是有序(真)还是无序(假)的一致真/假值。 规则 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 这是一些有序单词(即真词),还有更多相关的令人困惑的难题。 CAT …

22
它是弱质素吗?
如果最接近的其他素数小于素数,则素数是弱的。如果有平局,则素数并不弱。 例如73是弱素数,因为71是素数,而75是复合数。 任务 编写一些计算机代码,当输入大于2的质数时,将确定它是否为弱质数。这是一个标准的决策问题,因此您应针对两种情况(例如weak和not weak)分别输出两个唯一值。 这是代码高尔夫球,因此适用标签的标准规则。 信息系统 以下是前47个弱素数: 3, 7, 13, 19, 23, 31, 43, 47, 61, 73, 83, 89, 103, 109, 113, 131, 139, 151, 167, 181, 193, 199, 229, 233, 241, 271, 283, 293, 313, 317, 337, 349, 353, 359, 383, 389, 401, 409, 421, 433, 443, 449, …

3
精瘦的豆子机
向人们介绍离散概率分布概念的经典示例是bean机器。这台机器有大量的大理石从顶部狭窄的通道掉落,然后它们撞到交错的销钉行,在每个销钉处,大理石撞件可能会落到销钉的左侧或右侧。最终,将销钉收集到机器底部的垂直箱中。这台机器的简单图如下所示: | O | | ^ | | ^ ^ | | ^ ^ ^ | | ^ ^ ^ ^ | | ^ ^ ^ ^ ^ | |_|_|_|_|_|_| 在此图中,O表示大理石掉落的位置。每个^都是钉子,大理石在该钉子处有50%的机会移动到钉子左侧或右侧的正方形。然后,大理石聚集在设备底部的垃圾箱中,对于足够多的大理石,垃圾箱中的大理石堆叠高度将类似于离散的二​​项分布。 挑战 对于这一挑战,您将基于上图来计算bean机器的最终概率分布。这些图被解释为大理石通过的二维“程序”,即朝向侧场或当前场下方的场。当弹珠到达机器底部时,它们会被计算为概率分布。为了使它有趣,这些图将包含比简单的源代码和引脚更多的字段。一个示例图是: | O | | ^ | | ^ / | | ^ | ^ | | <^- …

8
A083569:最小的m不会较早出现,因此m + n为质数
定义一个1索引的序列,如下所示: A083569(1) = 1 A083569(n)其中n大于的整数1是较早出现的最小质数m,m+n即素数。 您的任务是接纳n并返回A083569(n)。 n A083569(n) 1 1 2 3 3 2 4 7 5 6 6 5 7 4 8 9 9 8 10 13 11 12 12 11 13 10 14 15 15 14 16 21 17 20 18 19 19 18 20 17 在这里可以找到更多的测试用例。OEIS的原始序列可以在这里找到。 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

30
具有大多数非零元素的行的索引
这很简单:将整数矩阵作为输入,并输出具有最多非零元素的行的索引。您可以假设只有一行具有最多非零的元素。 测试用例: 这些是1索引的,您可以选择是0还是1索引。 1 0 row = 1 --- 0 -1 0 0 row = 1 --- 1 1 0 0 0 0 0 5 0 0 2 3 0 0 0 0 5 6 2 2 row = 4 --- 0 4 1 0 0 0 -6 0 0 …
26 code-golf  matrix 

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.