编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

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 …

3
Google对儿童编码的涂鸦:解决所有问题的最短程序
今天的Google Doodle是关于庆祝儿童编码50周年的:目标是编写一个小兔子的路径,以便它可以吃掉所有的胡萝卜。块有4种类型(请参见下图): 从左到右: O("...", k)=橙色部分:这些是for执行k次程序的循环"..."。 G =绿色部分:如果可以,请向前迈出一步,否则不执行任何操作 Bl =蓝片:右转并停留在同一街区 Br =蓝片:向左转并停留在同一街区 上面的代码可以写成 O(O(G G Br, 4) Bl Bl, 23) 每个块(G, Bl, Br, O(...,k))计为1单位,因此该程序的长度为7。请注意,的值k包含在的1单位内O。 有6个级别。为了达到一个水平,你需要吃掉所有的胡萝卜。如果您的程序没有完全执行,这没问题,当您吃完最后的胡萝卜时,水平就直接结束了。 我们假设所有4种类型的块在每个级别均可用。 您的任务是找到一个可以解决游戏各个层面的程序。 块中最短的程序获胜。 每个级别的屏幕截图: 级别1: 级别2: 级别3: 级别4: 级别5: 级别6:

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, …

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 

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.