Questions tagged «integer»

对于涉及整数操作的挑战。

10
骑士距离
在国际象棋中,网格(x,y)上的骑士可能会移动到(x-2,y-1),(x-2,y + 1),(x-1,y-2),(x-1, y + 2),(x + 1,y-2),(x + 1,y + 2),(x + 2,y-1),(x + 2,y + 1)。想象一个无限的棋盘,只有一个骑士在(0,0)上: 将骑士从(0,0)移到(t x,t y)需要多少步骤? 输入项 两个整数:t x,t y; -100 <t x <100,-100 <t y <100 输出量 将骑士从(0,0)移至(t x,t y)所需的最小步伐。 规则 高尔夫代码 测试用例 x y -> out 0, 0 -> 0 0, 1 -> …

15
模块化广播
作为2018年5月每月语言活动的一部分,此挑战与MATL语言的某些功能有关。 介绍 在MATL中,许多双输入功能与broadcast一起逐个元素地工作。这意味着: 逐元素(或向量化):该函数将具有匹配大小的两个数组作为输入。该功能定义的操作将应用于每对对应的条目。例如,使用后缀表示法: [2 4 6] [10 20 30] + 给出输出 [12 24 36] 这也适用于多维数组。符号[1 2 3; 4 5 6]表示2× 3数组(矩阵) 1 2 3 4 5 6 2沿第一个尺寸(垂直)和3沿第二个尺寸(水平)具有尺寸。所以举个例子 [2 4 6; 3 5 7] [10 20 30; 40 60 80] * 给 [20 80 180; 120 300 560] 广播或(单例扩展):两个输入数组没有匹配的大小,但是在每个不匹配的维度中,其中一个数组具有size …

3
实施简化字距调整
介绍 字距调整是指调整文本字母之间的间距。例如,考虑Top用以下三个字形写的单词: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... 我们可以用点填充字形之间的间隙并完成它,但是间隙看起来太宽了。相反,我们将字形滑动到左侧,以便它们几乎可以接触: #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... 看起来好多了!请注意,的条形图T在的左边框上方o。在此挑战中,您的任务是为此类矩形字形实现一个简单的字距调整程序。 字距调整过程 考虑具有.和#形状相同的两个矩形2D字符数组。在简单的字距调整过程中,我们首先将数组并排放置,中间放置一列.s。然后,我们将#右阵列中的每一个向左移动一步,直到#左右阵列中的s正交或对角相邻。字距调整的结果是引入相邻s 之前的步骤#。您的任务是实施此过程。 让我们举个例子: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

22
混合骰子辊的频率分布
应对这一挑战的后续行动 给定一组混合的骰子,输出滚动所有骰子并汇总每个骰子上的掷骰数的频率分布。 例如,考虑1d12 + 1d8(滚动1个12面模具和1个8面模具)。最大和最小掷骰分别是20和2,类似于2d10掷骰(2个10面骰子)。但是,1d12 + 1d8分布比2d10:[1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1]vs 更平坦[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]。 规则 频率必须以与频率对应的总和的升序排列。 允许用相应的总和来标记频率,但不是必需的(因为可以从所需的顺序中推断出总和)。 您不必在输出超出您的语言可表示的整数范围的情况下处理输入。 不允许前导零或尾随零。输出中仅应出现正频率。 您可以采用任何合理的格式输入(骰子列表([6, …

25
找到一个固定点
给定一个整数和一些黑盒函数,可以在定义的序列中找到的固定点。x1 f: ℤ → ℤfxk+1 := f(xk) 细节 值x是fif 的固定点x = f(x)。 例如,如果f(x) := round(x/pi)和我们有一个起点,那么我们得到,然后,然后,最后,这意味着提交应该返回。x1 = 10x2 = f(x1) = f(10) = 3x3 = f(x2) = f(3) = 1x4 = f(x3) = f(1) = 0x5 = f(x4) = f(0) = 00 您可以假设生成的序列实际上包含一个固定点。 您可以使用本机类型代替ℤ。 您可以使用在标准IO meta post中输入黑盒功能默认设置的任何语言。如果您的语言没有这样的默认设置,请按照黑盒函数的定义随意添加一个,并确保在该定义中链接您的建议。也不要忘记对它们进行投票。 例子 f(x) = floor(sqrt(abs(x))) …

23
从中取出一个字节!
给定一个无符号整数n,您的任务是找到可以通过删除单个字节(连续8位)的数据来创建的最大数字。 例 给定数字7831,我们首先将其转换为二进制(删除所有前导零): 1111010010111 然后,我们找到连续的8位组,将其删除后将产生最大的新结果。在这种情况下,有3个解决方案,如下所示 1111010010111 ^ ^ ^ ^ ^ ^ 删除所有这些收益率11111,然后我们将其转换回其十进制值31作为答案。 测试用例 256 -> 1 999 -> 3 7831 -> 31 131585 -> 515 7854621 -> 31261 4294967295 -> 16777215 (if your language can handle 32 bit integers) 规则 确保的位长n将大于8。 理论上,您的解决方案应适用于n大于8的任何位长,但实际上,仅需要适用于255 <n <2 16的整数 输入/输出应为十进制。 您可以提交完整的程序或功能。 这是代码高尔夫球,因此最短的程序(以字节为单位)获胜!

20
循环移动总和
受Stack Overflow 问题的启发。 给定整数的非空数组x和一个正整数n,计算总和的每一个滑动块长度的n沿阵列x,圆在左边与值从右侧填充缺失的值如下: 第一个块包含的第一个条目x,后跟n-1循环移位的条目; 第二个块具有的第一个和第二个条目x,后跟n-2循环移位的条目;等等。 输出数组y的大小与相同x。可能n超过的长度x,然后x循环重复使用的值几次。 例子 示例1(值仅重用一次) x = [2, 4, -3, 0, -4] n = 3 作为输出 y = [-2, 2, 3, 1, -7] 哪里 -2是块的总和[0, -4, 2](前两个值来自循环移位) 2是的总和[-4, 2, 4](第一个值来自循环移位) 3是的总和[2, 4, -3](不再需要循环移位) 1 是...的总和 [4, -3, 0] -7是的总和[-3, 0, -4]。 示例2(值被重用几次) x = [1, 2] …

3
牛羚的路径
打高尔夫球的程序或功能,使角马的第nthnthn^{\text{th}}位置在无限的棋盘上从第1平方开始,该棋盘以逆时针方向的正方形螺旋编号,在该位置,角马总是访问她能到达的,编号最小的正方形。尚未访问。111 灵感:被困骑士和OEIS A316667。 编辑:此序列现在在OEIS上为A323763。 该代码可以产生第nthnthn^{\text{th}}位置,前nnn位置,或生成不带输入的序列。 可以在nnn跳跃之后(或最多)随意提供其位置,但是如果是这样,请在您的答案中清楚说明,并确保输入n=0n=0n=0产生1(或[1]适当的话)。 这是code-golf,因此目标是以您选择的语言生成尽可能少的字节的工作代码。 注:角马被截留(很像骑士确实在他的2016th2016th2016^{\text{th}}位置,方208420842084,和骆驼确实在他的3723rd3723rd3723^{\text{rd}},方708170817081)在她12899744968th12899744968th12899744968^{\text{th}}在广场的位置128518502581285185025812851850258。大于nnn可能未定义代码的行为。(感谢Deadcode提供了找到该代码的C ++代码!) 详情 该板看起来像下面,并且可以无限期地继续: 101 100 99 98 97 96 95 94 93 92 91 102 65 64 63 62 61 60 59 58 57 90 103 66 37 36 35 34 33 32 31 56 89 104 67 38 17 16 15 …

24
强盗:隐藏的OEIS子字符串
这是警察和强盗的挑战。这是强盗的线索。在警察的线程是在这里。 警察将从OEIS中选择任何序列,并编写一个程序p,该程序打印出该序列中的第一个整数。他们还将找到一些字符串s。如果将s插入p,则此程序必须打印序列中的第二个整数。如果将s + s插入p的相同位置,此程序必须打印序列中的第三个整数。s + s + s在相同位置将打印第四个,依此类推。这是一个例子: Python 3,序列A000027 print(1) 隐藏的字符串是两个字节。 字符串为+1,因为程序print(1+1)将打印A000027中的第二个整数,程序print(1+1+1)将打印第三个整数,依此类推。 警察必须揭示序列,原始程序p和隐藏字符串s的长度。强盗通过找到任何字符串裂纹提交到该长度并插入它来创建序列的位置。该字符串不需要匹配预期的解决方案即可成为有效裂纹,插入字符串的位置也不需要。 如果您破解了其中一个警察的答案,请发布解决方案(显示隐藏的字符串和位置)以及答案的链接。然后评论警察的答案,并在此处提供您的破解链接。 规则 您的解决方案必须能按顺序使用任意数量的数字,或者至少要解决由于内存限制,整数/堆栈溢出等原因导致失败的合理限制。 胜出的强盗是破解最多提交内容的用户,而决胜局是首先达到该破解数量的用户。 获胜的警察是最短的s未被破解的警察。决胜局是最短的p。如果没有完整的意见书,那么拥有解决方案的警察将获得最长的胜利。 为了声明安全,您的解决方案必须保持完整状态1周,然后显示隐藏的字符串(及其插入位置)。 s可能不是嵌套的,它必须首尾相连。例如,如果s为10,则每次迭代都会进行,10, 1010, 101010, 10101010...而不是10, 1100, 111000, 11110000... 禁止使用所有加密解决方案(例如,检查子字符串的哈希)。 如果s包含任何非ASCII字符,则还必须指定使用的编码。

18
折叠数
让我们在自然数上定义一个a函数,以10个,如下所示:ñnndķdk − 1…d1个d0dkdk−1…d1d0d_k\; d_{k-1}\; \dotsc\; d_1\; d_0 只要相邻数字相等,就用它们的总和从左到右替换它们。如果有任何这样的数字,请重复相同的步骤。d一世di − 1didi−1d_i\;d_{i-1}d一世+ di − 1di+di−1d_i+d_{i-1} 换句话说,在每次迭代中,我们贪婪地获取所有相等的相邻相邻数字对,并同时用它们的和替换它们(如果它们重叠,则使用最左边的一对)。 例 让我们以为例:99889988\texttt{9988} 相等的第一相邻数字是两个99\texttt{9} 因此,我们将其替换为,从而得到9 + 9 = 189 + 9=18\texttt{9 + 9} = \texttt{18}1888年1888\texttt{1888} 由于我们仍在第一个左右遍历中,并且仍然有两个我们需要首先替换它们88\texttt{8} 这样我们得到1816年1816\texttt{1816} 发生了一些变化,因此我们需要进行另一次迭代 但是没有这样的数字,所以我们停止 因此,该序列中的号为。9988日9988th9988^\text{th}1816年18161816 挑战 前200个术语是: 0,1,2,3,4,5,6,7,8,9,10,2,12,13,14,15,16,17,18,19,20,21,4,23,24,25,26,27,28,29,30,31,32,6,34,35,36,37,38,39,40,41,42,43,8,45,46,47,48,49,50,51,52,53,54,10,56,57,58,59,60,61,62,63,64,65,12,67,68,69,70,71,72,73,74,75,76,14,78,79,80,81,82,83,84,85,86,87,16,89,90,91,92,93,94,95,96,97,98,18,10,101,102,103,104,105,106,107,108,109,20,21,4,23,24,25,26,27,28,29,120,121,14,123,124,125,126,127,128,129,130,131,132,16,134,135,136,137,138,139,140,141,142,143,18,145,146,147,148,149,150,151,152,153,154,20,156,157,158,159,160,161,162,163,164,165,4,167,168,169,170,171,172,173,174,175,176,24,178,179,180,181,182,183,184,185,186,187,26,189,190,191,192,193,194,195,196,197,198,28 您的任务是生成该序列,或者 给定,返回该序列中的数字,ñnnñ日nthn^\text{th} 给定,返回该序列中的前数字ñnnñnn 或无限期地生成序列。 您可以选择使用或索引编制,但是请指定使用哪一个。0001个11 测试用例 您可以使用上述给定的术语,但是这里有一些较大的术语: 222 -> 42 1633 -> 4 4488 …

20
不相邻项目的最大合计子序列
介绍: 由这两个问题SO(没有来自同一类怀疑)的启发:打印不相邻的元件的java在最大总和的子阵列的元件和阵列的非相邻元件的最大总和,将被打印。 挑战: 给定一个整数列表,输出由具有最高和的不相邻元素组成的子序列。这里有一些例子: [1,2,3,-1,-3,2,5]将导致基于0的索引处[1,3,5](总和为9)[0,2,6]。 [4,5,4,3]会在基于0的索引处产生[4,4](总和8),[0,2]或者在基于0的索引处产生[5,3](总和8)[1,3]。 [5,5,10,100,10,5]会导致基于0的索引或产生[5,100,5](总和110)。[0,3,5][1,3,5] 上面这些示例中最重要的是,包含元素的索引彼此之间至少相距2。如果我们[5,5,10,100,10,5]更深入地看这个例子:我们有以下包含不相邻项的潜在子序列;索引低于它;其总和如下: [[5],[10],[100],[10],[5],[5],[100,5],[10,5],[10,10],[5,5],[5,10],[5,100],[5,5],[5,10],[5,100],[5,10],[5,100,5],[5,100,5],[5,10,5],[5,10,10]] // non-adjacent subsequences [[5],[ 4],[ 3],[ 2],[1],[0],[ 3,5],[ 2,5],[ 2, 4],[1,5],[1, 4],[1, 3],[0,5],[0, 4],[0, 3],[0, 2],[1, 3,5],[0, 3,5],[0, 2,5],[0, 2, 4]] // at these 0-based indices [ 5, 10, 100, 10, 5, 5, 105, 15, 20, 10, 15, 105, 10, 15, …

10
最短的唯一标识子字符串
给定一个字符串列表,请用其非空子字符串之一替换每个字符串,该子字符串不是列表中任何其他字符串的子字符串,并且应尽可能短。 例 给定list ["hello","hallo","hola"],"hello"应替换为,"e"因为该子字符串未包含在其中"hallo","hola"并且它尽可能短。"hallo"可通过任一取代"ha"或"al"并"hola"通过任何"ho","ol"或"la"。 规则 您可以假定字符串将为非空,并且仅包含大小写相同的字母字符。 您可以假定列表中的每个字符串都存在这样的子字符串,即列表中的任何字符串都不是其他任何字符串的子字符串。 输入和输出可以采用任何合理的格式。 这是code-golf,因此请尝试使用您选择的语言使用尽可能少的字节。 测试用例 在大多数情况下,仅给出一种可能的输出。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 相关:最短识别子字符串 -类似的想法,但涉及更多规则和繁琐的格式。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

25
按最大数字排序
挑战: 给定一个整数列表,请按其最大的一位数字降序排列。具有相同大数字的数字的顺序将按第二大数字排序,依此类推。 我们忽略数字中重复的数字。而且,如果一个数字中的所有数字都相同,则列表中这些数字的顺序可以是您想要的任何方式。 例: Input: [123, 478, -904, 62778, 0, -73, 8491, 3120, 6458, -7738, 373] Possible outputs: [8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0] [8491, -904, 62778, 478, -7738, 6458, -73, 373, 3120, 123, 0] 为什么?以下是对数字进行排序的相关数字: Output: [8491, -904, 62778, 478, -7738, 6458, 373, -73, …

15
不完全是罗马三元
给定整数n≥0,请使用数字139ABCDE…和1个字符的分隔符以非位置基3表示法将其输出。每个数字都是3的连续幂,并且分隔符左侧的数字被取反,例如 A931 | B →81-(1 + 3 + 9 + 27)→ 41。一个数字只能出现一次。 严格地,让一个数字的值为: 如果数字是1、3或9,则为它的值 27如果数字是 A B.. 之前的数字值的3倍Z 您的输出应满足sum(右边|的数字值)-sum(左边的数字值|)== input。 例子 input output ---------------- 0 | 1 |1 7 3|91 730 |D1 9999 FEDC|GA9 您可以使用其他非空格字符作为分隔符。还允许您没有分隔符,在这种情况下,最大的数字以正数开头。您不需要处理大于2 32 -1(PMIGDCBA9|RQNLH3)的任何东西。 您可以编写完整的程序或函数,并且可以在任何常用通道上提供输入和输出。 这是代码高尔夫球,因此答案越短越好!

19
重建算术序列
给定一个正整数的有限算术序列,其中一些项从中间删除,请重构整个序列。 任务 考虑一个算术序列:一个正整数列表,其中两个连续元素之间的差是相同的。 2 5 8 11 14 17 现在,假设受以下约束,从序列中删除一个或多个整数: 删除的整数将是该序列的连续项。 序列中的第一个和最后一个整数将不会被删除。 序列中至少保留三个整数。 对于上述顺序,可能的删除包括: 2 5 8 14 17 (removed 11) 2 5 17 (removed 8 11 14) 2 14 17 (removed 5 8 11) 您的任务:给定这些部分序列之一,重建原始的完整序列。 细节 您可能会认为输入有效(有解决方案)并且至少缺少一个术语。序列中的所有数字均为正(> 0)整数。序列在项之间可以具有正或负差(即,可以增加或减少)。它不是一个恒定的序列(例如5 5 5)。 您的解决方案可能是完整程序或功能。任何默认的输入和输出方法都是可以接受的。 您的输入和输出可以是字符串(带有任何合理的定界符),字符串列表或数字列表。您可以使用方便的语言来代表数字。 请在您的提交中提及任何异常的I / O方法/格式,以便其他人能够更轻松地测试您的代码。 测试用例 In: 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.