编程拼图和代码高尔夫

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

18
跳数
跳数定义为正数n,所有成对的连续十进制数字之差为1。此外,所有单数位数字均视为跳数。例如。3、45676、212是跳跃数字,但414和13不是。9与0之差不视为1 挑战 创建一个程序,输出以下结果之一: 给定输入n输出的第一个n跳跃数。 给定输入n输出,序列的nth项。 注意 允许使用任何有效的I / O格式 允许1索引或0索引(请指定) 以下是一些跳跃数字: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98, 101, 121, 123, 210, 212, 232, 234, 321, 323, 343, 345, 432, 434, …

3
矩阵旋转排序
让我们定义一个具有唯一数字的非空,未排序和有限矩阵,如下所示: ñ= { 41个5376}N={457136}N = \begin{Bmatrix} 4&5&7\\1&3&6 \end{Bmatrix} 让我们定义4个矩阵移动为: ↑*(向上):向上移动一列 ↓*(向下):向下移动一列 →*(右):向右移动一行 ←*(左):向左移动一行 星号(*)表示受移动影响的列/行(可以是0索引或1索引。由您决定。请在您的答案中说明哪一个)。 面临的挑战是,使用上述动作以升序对矩阵进行排序(左上角最低,右下角最高)。 例 输入: 可能的输出:或。(请注意,所有这些举动都可以对矩阵进行排序,因此两个答案都是正确的)ñ= { 41个2536}N={423156}N=\begin{Bmatrix}4&2&3\\1&5&6 \end{Bmatrix}↑0↓0 输入: 可能的输出:ñ= { 24351个6}N={231456}N=\begin{Bmatrix}2&3&1\\4&5&6 \end{Bmatrix}→0 输入(测试用例示例): 可能的输出:ñ= { 41个5376}N={457136}N = \begin{Bmatrix} 4&5&7\\1&3&6 \end{Bmatrix}↑0↑1←1↑2 输入: 可能的输出: ñ= ⎧⎩⎨⎪⎪581个927643⎫⎭⎬⎪⎪N={596824173}N = \begin{Bmatrix} 5&9&6\\ 8&2&4\\ 1&7&3 \end{Bmatrix}↑0↑2→0→2↑0→2↑1↑2←1 输入: 可能的输出: ñ= ⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪1个1017152630272711162228381221232941318岁1924659142025⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪N={127282961023451778139151112181426162119203022232425}N = \begin{Bmatrix} …

14
时钟(音译)密码
介绍: 在我小时候编写的文档中,我存储了许多不同的密码,我选择了一些我认为最适合挑战的密码(不太琐碎,也不太难),并将它们转变为挑战。它们中的大多数仍位于沙箱中,我不确定是否要全部发布还是仅发布其中几个。这是第三个也是最简单的一个(在我之前发布的Computer Cipher和Trifid Cipher之后)。 对于时钟密码,我们使用以下图像对文本进行加密: 因此,类似的句子this is a clock cipher将变为: t h i s i s a c l o c k c i p h e r (without additional spaces of course, but added as clarification) 19:7:8:18:00:8:18:00:AM:00:2:11:14:2:10:00:2:8:15:7:4:17 挑战: 给定一个字符串sentence_to_encipher,如上所述将其加密。 挑战规则: 您可以假定sentence_to_encipherwill只包含字母和空格。 您可以使用完整的小写字母或完整的大写字母(请说明您在答案中使用了哪一个)。 你不允许添加前导零的单个数字加密信件b通过j,但两个零00是强制性的空间。 您应将其:用作分隔符,并且:不允许使用其他前导或尾随。 只要保持一致,就可以使用小写字母am,pm而不能使用大写字母AM和PM。 通用规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于具有默认I …

18
查找罗科号码
采访中有人问我这个问题,但我找不到解决办法。我不知道这个问题是否对。我尝试了很多,但无法解决。老实说,我什么都没想到。 罗科数 如果正整数nnn可以表示为n=p(p+14)n=p(p+14)n=p(p+14)或n=p(p−14)n=p(p−14)n=p(p-14),其中ppp是质数,则为Rocco 数。 前10个Rocco号码是: 32,51,95,147,207,275,351,435,527,62732,51,95,147,207,275,351,435,527,62732, 51, 95, 147, 207, 275, 351, 435, 527, 627 任务 您的代码必须接受一个正整数作为输入,并确定它是否是Rocco数字。 印象分 编写一个函数,计算并打印小于或等于100万的Rocco数。 编写一个函数,该函数根据质数的奖金问题(上面的问题)计算并打印Rocco数的计数。

13
计算连续的子矩阵
从聊天迁移 给定两个非空非负整数矩阵甲和乙,回答的次数甲出现作为连续的,可能重叠,子矩阵在乙。 范例/规则 0.可能没有任何子矩阵 答: [[3,1], [1,4]] B: [[1,4], [3,1]] 回答: 0 1.子矩阵必须是连续的 答: [[1,4], [3,1]] B: [[3,1,4,0,5], [6,3,1,0,4], [5,6,3,0,1]] 答:( 1以粗体显示) 2.子矩阵可能重叠 答: [[1,4], [3,1]] B: [[3,1,4,5], [6,3,1,4], [5,6,3,1]] 答:( 2分别以粗体和斜体标出) 3.(子)矩阵的大小可能为1-by-1或更大 答: [[3]] B: [[3,1,4,5], [6,3,1,4], [5,6,3,1]] 答:( 3以粗体显示) 4.矩阵可以是任何形状 答: [[3,1,3]] [[3,1,3,1,3,1,3,1,3]] 答:( 4两个粗体,两个斜体)

1
拆分账单
任务 假设ppepole必须拆分钞票;每一个都由一个三元组标识,该三元组(Name, n, k)由以下各项组成: Name:名称 ; n:他/他必须支付的金额; k:她/他实际支付的金额。 这里的挑战是找出谁欠谁的钱。 假设条件 输入和输出可以采用任何方便的格式。 p ∈N,∈N,\in \mathbb{N}, \,\;\;n ∈N+,∈N+,\in \mathbb{N}^{+},\; k ∈N.∈N.\in \mathbb{N}. p >1.>1.\gt 1. 名称是任意长度的唯一字符串,由小写字母字符组成。 解 解决方案以p人们之间的最小交易量为代表。特别是三元组(from, to, amount) from:name给钱的人; to:name收钱者的; amount:交易金额。 注意:所有债务的总和(n)可能与所有已付金额的总和(k)不同。在这种情况下,您必须添加输出('owner', Name, amount)或(Name, 'owner', amount)所选的格式。任何名称都不会是owner。字符串'owner'是灵活的。 如果存在多个最小集合,则选择所有交易金额(绝对值)的总和最小的集合;如果是平局,选择其中之一。 测试用例: inputs(Name,n,k): [('a',30,40),('b',40,50),('c',30,15)] [('a',30,30),('b',20,20)] [('a',30,100),('b',30,2),('c',40,0)] [('a',344,333),('b',344,200),('c',2,2)] [('a',450,400),('b',300,300),('c',35,55)] outputs(from, to, amount): [('c','a',10),('c','b',5),('owner','b',5)] or [('c','b',10),('c','a',5),('owner','a',5)] …
12 code-golf 

9
直到重复的转换次数
给定一个整数序列,或更具体地讲,是0..N 变换的排列,此序列如下: 输出[x] =反向(输入[输入[x]]) 重复 例如:[2,1,0]变为[0,1,2]和反转为[2,1,0]。[0,2,1]变成[0,1,2]并反转[2,1,0]。 例子1 In: 0 1 2 S#1: 2 1 0 S#2: 2 1 0 Output: 1 例子2 In: 2 1 0 S#1: 2 1 0 Output: 0 例子3 In: 3 0 1 2 S#1: 1 0 3 2 S#2: 3 2 1 0 S#3: 3 …
12 code-golf 

10
Kolmogorov的灵活性。又名特价!所有Codegolf售完即享
这是产生无输入的固定输出的受限源,kolmogorov-complexity和代码高尔夫球挑战。 但是,输出格式是灵活的-可以按标准输出,按标准错误打印,作为字符列表返回,作为字节列表返回或作为整数列表返回。如果您认为还有其他合理的选择,请在评论中提问! 这是一个简单的大字母ASCII 代码CODEGOLF: CCCC OOO DDDD EEEEE GGG OOO L FFFFF C O O D D E G O O L F C O O D D EEE G GG O O L FFF C O O D D E G G O O L F CCCC OOO DDDD …

6
确定最宽的山谷
想象一下,我们得到了一些山区的一片,这将导致类似于以下的形状: 4 _ 3 _ _ __/ \ 2 / \__/ \ _/ \_ / 1 / \ / \_/ 0 \/ 12322223210012233343221112 如我们所见,我们可以(在一定程度上)用整数序列表示这一点。 出于此挑战的目的,我们将山谷定义为一个连续的子序列,在该子序列中,值最初是减小的,从某个点开始它们是增大的。更正式地为一个序列(一个一世)ñ我= 1(ai)i=1n(a_i)_{i=1}^n的波谷将指数1 ≤ 小号&lt; ř &lt; 吨≤ Ñ1≤s&lt;r&lt;t≤n1 \leq s < r < t \leq n的量,下式成立: 山谷的起点和终点相同:一个s= 一个Ťas=ata_s = a_t 谷开始和结束一次的区域变得更低:一个s&gt; 一个s + 1∧ 一t − …

2
用Mo鼠山造山
您将获得一连串的地形,其中有丘陵和山脉: /\ / \ _/\__ / \ ___/ \_/ \_ ____/\___/ \___ 您的工作是用同一列中心居中的等效山峰替换字符串中的每个小丘。字符串的其余部分必须不受影响。这可能需要在字符串的开头添加其他行。 一个小题大做由这里的地形上升相邻列,紧接着相邻列在地势下降。最短的一面必须正好是一列宽。 这些都是小丘: _____/\______ /\________ __/ ________/\ \__ \ / \ / \ / \ / \/\_/ 这些不是小丘: /\ ___/ \______ ___ _____/ \___ ____ _______ \/ 一座山就像是一座小山,但最短的一面是四行而不是一行。 例子 /\ / \ -&gt; / \ ____/\____ _/ \_ …

21
最长递增子串
给定一个正整数列表,编写代码以找到不断增加的最长连续子列表的长度(并非严格如此)。那是最长的子列表,因此每个元素都大于或等于最后一个。 例如,如果输入是: [ 1 ,1 ,2 ,1 ,1 ,4 ,5 ,3 ,2 ,1 ,1 ][1,1,2,1,1,4,5,3,2,1,1][1,1,2,1,1,4,5,3,2,1,1] 增长子列表将是,因此您将输出。[ 1 ,1 ,4 ,5 ][1,1,4,5][1,1,4,5]444 通过将其来源作为字节列表,然后找到该列表中最长的递增子列表的长度,可以对您的答案进行评分。得分较低是目标。为了减少总字节数较少的程序,打破了联系。

6
带我离开这里
挑战 在给定网格大小,障碍物位置,玩家位置和目标位置的情况下,您的任务是为玩家找到一条到达目标并同时避开障碍物的路径(如有必要)。 输入值 N:网格大小N x N P:球员位置[playerposx, playerposy] T:目标位置[targetposx, targetposy] O:障碍物位置[[x1, y1], [x2, y2],...,[xn, yn]] 输出量 路径:玩家可以用来达到目标​​的路径[[x1, y1], [x2, y2],...,[xn, yn]] 规则 该点[0,0]位于网格的左上角。 玩家的位置将始终位于网格的左侧。 目标的位置将始终在网格的右侧。 网格将始终至少具有一个障碍。 您可以假设没有障碍重叠在玩家或目标位置上。 您不一定需要找到最小路径。 玩家只能左右移动,不能左右移动。 您可以通过任何方便的方式进行输入。 您可以假设玩家始终可以到达目标的路径。 显然,对于每个输入,存在多个有效路径,请选择一个。 假设N &gt; 2网格至少为3 x 3。 例子 输入:9,[6, 0],[3, 8],[[0, 5], [2, 2], [6, 4], [8, 2], [8, 7]] …

30
本色代码
维基百科上的真彩色(24位)在相关部分中描述为 24位几乎总是使用R,G,B中的每个8位。截至2018年,几乎每台计算机和电话显示器以及绝大多数图像存储格式都使用24位色深。几乎所有情况下每个像素有32位意味着使用24种颜色,其余8种是alpha通道或未使用。 2 24给出16,777,216种颜色变化。人眼最多可以辨别一千万种颜色[10],并且由于显示器的色域小于人眼的范围,因此这意味着该范围应覆盖比所能感知的更多的细节。... ... Macintosh系统将24位颜色称为“数百万种颜色”。术语“真彩色”有时用来表示本文所说的“直接彩色”。[13]通常也用于指所有大于或等于24的颜色深度。 全部16,777,216色 任务 编写一个程序,该程序在CSS rgb()函数中生成并返回数组中所有16,777,216个颜色变化作为字符串 5.1。RGB功能:rgb()和rgba() 该rgb()函数通过直接指定红色,绿色和蓝色通道来定义RGB颜色。其语法为: rgb() = rgb( &lt;percentage&gt;{3} [ / &lt;alpha-value&gt; ]? ) | rgb( &lt;number&gt;{3} [ / &lt;alpha-value&gt; ]? ) &lt;alpha-value&gt; = &lt;number&gt; | &lt;percentage&gt; 前三个参数分别指定颜色的红色,绿色和蓝色通道。0%代表sRGB色域中该颜色通道的最小值,并100%代表最大值。A &lt;number&gt;等效于a &lt;percentage&gt;,但范围不同:0再次代表颜色通道的最小值,但255代表最大值。这些值来自以下事实:许多图形引擎在内部将颜色通道存储为单个字节,该字节可以容纳0到255之间的整数。实现应尽可能尊重创作或计算得出的通道精度。如果无法做到这一点,则应使用所使用的最高精度将通道四舍五入到最接近的值,如果两个值相等接近,则将四舍五入。 最后一个参数,&lt;alpha-value&gt;指定颜色的Alpha。如果指定为a &lt;number&gt;,则该值的有用范围是0 (表示完全透明的颜色)至1(表示完全不透明的颜色)。如果指定为,则0%表示完全透明的颜色,而100%表示完全不透明的颜色。如果省略,则默认为100%。 超出这些范围的值不是无效的,但是在计算值时将被限制为此处定义的范围。 出于遗留原因,rgb()它还支持另一种语法,该语法用逗号分隔所有参数: rgb() = rgb( &lt;percentage&gt;#{3} , &lt;alpha-value&gt;? ) | …

14
检查文件仅包含空字节
您的目标是编写一个程序或函数,该程序或函数接受代表文件路径的字符串作为输入,并在该文件不为空且不包含非空字节的情况下输出真实值-即所有位均为0- -否则为假值。 我意识到这是一个非常简单的问题,我想我可以破解一些东西,但是我怀疑必须有一些简短而优雅的方法来做,这给了我一个挑战的想法。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。(我个人倾向于使用最快的解决方案,但这也取决于实现方式...) 相关问题:用零填充文件 动机:这只是为了告诉您问题出在哪里,以防您感兴趣。您不需要阅读它。 用“ dd”或其他方式复制的CD和DVD的ISO映像通常以仅包含空字节的无用块序列终止。删除这些块的标准技术是已知且简单的(请参阅 /unix/74827/),但是它们有时可能会删除非null有用的数据,因为介质的大小可能取决于其自身大小。因此,我想检查已删除的块是否仅包含空字节。删除这些块对于定义ISO映像的规范化版本很重要。

17
计算最小值
背景 请考虑以下顺序(OEIS中为A051935): 从术语开始。222 找出大于的最低整数,使为质数。2 2 + nñnn2222 + n2+n2+n 找到大于的最低整数,使为质数,以此类推。 Ñ 2 + Ñ + Ñ 'ñ′n′n'ñnn2 + n + n′2+n+n′2 + n + n' 一个更正式的定义: 一个ñ= { 2分钟{ X ∈ Ñ | X &gt; 一n − 1 和 ( x + ∑n − 1我= 0一个一世) 是素数}if n=0otherwisean={2if n=0min{x∈N∣x&gt;an−1 and …

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.