Questions tagged «sequence»

对于涉及某种顺序的挑战。

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 …

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的原始序列可以在这里找到。 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

11
防位翻转复合数字
有时,在编写程序时,出于某种原因(例如,密码学),您需要使用质数。我认为有时您也需要使用一个复合数字。有时,至少在PPCG上,您的程序必须能够处理任意更改。而且在方便地提出一个有趣的PPCG问题的情况下,也许甚至您使用的数字也必须能够抵御腐败…… 定义 甲合数是一个整数≥4不是素数,即它是两个较小的整数大于1更大的产物抗性bitflip复合数被定义如下:它是其中复合正整数,如果你把它写如果是二进制格式,则位数应尽可能少,您可以更改该位数中的任何一位或两位,并且该数字仍然是合成的。 例 例如,考虑数字84。在二进制中,即1010100。以下是所有相差不超过2位的数字: 0000100 4 2×2 0010000 16 4×4 0010100 20 4×5 0010101 21 3×7 0010110 22 2×11 0011100 28 4×7 0110100 52 4×13 1000000 64 8×8 1000100 68 4×17 1000101 69 3×23 1000110 70 7×10 1001100 76 4×19 1010000 80 8×10 1010001 81 9×9 1010010 82 2×41 …

21
仅包含这些数字的最小n位素数
您将需要生成带有n数字的最小素数,并且它仅包含list中指定的数字k。 例子: 输入: 4 1 2 为此,您必须生成带有4数字的最小素数,并且该素数必须仅包含数字1和2。 输出: 2111 输入: 10 0 4 7 输出: 4000000007 输入: 6 5 5 5 5 5 5 5 5 5 5 1 5 5 5 5 5 5 5 5 5 5 输出: 115151 您可以保证输入将始终采用您指定的格式,并且如果输入无效(例如,输入为一位n,而没有k),则可以执行任何操作。 如果不存在此类输入解决方案,则允许您的程序执行以下任一操作: 打印 banana 抛出错误 永远跑 还要别的吗 由于这是代码高尔夫,请尝试以最短的代码为目标。 输入可以是您指定的任何格式。例如,如果您希望您的输入与以下任何一种一样,那就很好。 …

3
安排泡泡
注意,挑战是从math.stackexchange询问的问题复制而来的。 最近,我掌握了一些吹泡泡的技巧。首先,我会像这样吹泡泡: 但是事情开始变得奇怪了: 一段时间后,我吹了一些怪异的气泡: 吹完数百个甚至数千个这样的气泡后,我的额头突然出现问题:给定n个气泡,您可以用几种不同的方式排列它们?例如,如果n = 1,则只有1种排列。如果n = 2,则有2种排列。如果n = 3,则有4种排列。如果n = 4,则有9种排列。 这是4个气泡的9个排列: 在吹完所有这些奇妙的泡泡之后,我决定与您分享点算他们的安排的乐趣。因此,这是您的任务: 目标 编写一个程序,函数或类似的程序,计算可以排列n气泡的方式。 输入项 n,气泡数。n> 0 输出量 排列这些气泡的方式的数量。 获奖标准 如果我们能在您的代码周围吹泡泡,那真的很酷。您编写的代码越小,执行起来就越容易。因此,使用最少字节数编写代码的人将赢得比赛。 额外的信息 信息系统

19
查找可排序的年份
2013年有一个有趣的属性:数字在排序时是连续的(0123)。让我们将这种类型的数字称为可排序数字:一个非负整数,其基数为10的数字在排序后是连续的。不幸的是,这种情况要到2031年才会再次发生,然后直到2103年才会再次发生。您的挑战是编写一个程序或函数,当通过任何标准方法给定非负整数时,该程序或函数将输出或返回下一个可排序的数字。 规则 输入和输出必须以10为底。 输出可以采用任何合理的格式(数字文字,字符串文字,单项数组等)。 您的代码必须在1分钟内为最多98764的所有输入产生正确的输出。 测试用例 0 -> 1 1 -> 2 9 -> 10 10 -> 12 11 -> 12 99 -> 102 233 -> 234 234 -> 243 243 -> 312 2016 -> 2031 2031 -> 2103 2103 -> 2130 2130 -> 2134 2134 -> 2143 9876 -> …

14
自动化OEIS
我们在这里看到了很多挑战,要求从OEIS创建函数来创建序列。尽管这些挑战很有趣,但作为一名程序员,我看到了自动化的机会。 您的挑战是制作一个程序,该程序采用序列的索引(例如A172141)和某个整数n(例如7),并从适当的网页中提取适当的值。 输入输出 如前所述,您的程序应采用序列索引和某个值n作为输入,并输出该序列中的第n个项。您接受序列B文件中的任何索引。如果索引大于B文件中列出的最大索引,则您可能会引发异常或输出您选择的内容(测试用例中没有)。允许使用标准的输入和输出方法。 网络使用限制 除https://oeis.org和http://oeis.org之外,您不应访问任何其他网站。这包括网址缩短器,您自己的个人网站以及此问题本身。如果您想访问其他网站,并且认为允许这样做并非不公平,则可以发表评论,我将进行仲裁。 计分 这是一个代码挑战,因此在其源代码中使用最少字节的程序将获胜。不允许出现标准漏洞。 测试用例 假设您的计算机具有正确的Internet连接并且OEIS服务器已启动并且正在运行,则以下输入和输出应该对应。 A172141, 7 -> 980 A173429, 4 -> 276 A190394, 6 -> 16 A002911, 11 -> 960 A052170, 3 -> 24 A060296, 8 -> 3 A178732, 5 -> 27 A000001, 1 -> 1 A000796, 314 -> 3 A001622, 162 -> 8 …

21
与邻居交换位
任务描述 给定一个整数,将其第(2k-1)个和第2k个最低有效位交换为所有k> 0的整数。这是OEIS中的序列A057300。 (假定该数字具有“无限多个”前导零。实际上,这仅意味着在奇数长度的数字前添加一个0位。) 这是code-golf,所以最短的代码(以字节为单位)获胜。 测试用例 0 -> 0 1 -> 2 9 -> 6 85 -> 170 220 -> 236 1827 -> 2835 47525 -> 30298

2
游程编码中的循环
考虑使用1和的一些二进制序列2,例如: 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1 ... 让我们写下其运行长度: 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1 ... _ _ ____ ____ _ _ _ ____ 1, 1, 2, 2, 1, 1, 1, 2, ... 在这种情况下,我们碰巧获得了另一个二进制序列。当然,不能保证(例如,如果我们重复该过程,则第三次运行将是3),但是让我们假设我们这样做了。 现在的问题是,我们是否可以找到一个序列,以便多次应用这种游程编码可以使我们返回原始序列?对于1的循环长度(即此变换的固定点),我们发现了Oldenburger-Kolakoski序列(OEIS条目A0000002): 1, 2, 2, …

30
将数字相加,将数字取反
给定一个数字> 0,输出所有位(1 .. n)串联并取反的和,然后将它们加起来。例如,当n = 6时: 数字1到6串联在一起: 123456 反转: 654321 将它们加在一起将得到:777777。另一个示例是n = 11: 1 2 3 4 5 6 7 8 9 10 11 > 1234567891011 和 11 10 9 8 7 6 5 4 3 2 1 > 1110987654321 将它们加在一起将得到2345555545332。这也称为A078262。 最短的代码胜出!

30
正负顺序
正负顺序 正负序列是从两个种子开始的序列,a(0)而b(0)。该序列的每次迭代都是该序列的前两个成员的加法和减法。即a(N) = a(N-1) + b(N-1)和b(N) = a(N-1) - b(N-1)。 目的产生无限的正负序列或K给出的第一步K。您可以使用给出K第一步的无限输出程序,生成器或函数/程序来执行此操作。输出顺序无关紧要,只要它是一致的即可。(即,b(K) a(K)或a(K) b(K),之间使用一些非数字,非换行符。)输出必须以输入开头。 测试用例 对于输入10 2(为a(0) b(0),这是第一个K方法(或无限方法的一个子节)的可能输出: 10 2 12 8 20 4 24 16 40 8 48 32 80 16 96 64 160 32 192 128 320 64 384 256 640 128 768 512 1280 256 1536 1024 2560 …

17
无限多个素数
自从欧几里得以来,我们知道有无限多个素数。这个论点是矛盾的:如果只有有限个,假设p1个,p2,。。。,pñp1,p2,...,pnp_1,p_2,...,p_n,那么肯定m := p1个⋅ p2⋅ 。。。⋅ pñ+ 1m:=p1⋅p2⋅...⋅pn+1m:=p_1\cdot p_2\cdot...\cdot p_n+1是不是由这些素数整除,所以它的因式分解必须产生新总理,这不是在列表中。因此,仅存在有限素数的假设是错误的。 现在,假设222是唯一的质数。从上面的方法可以得出2 + 1 = 32+1=32+1=3作为新的(可能的)素数。应用该方法再次产生2 ⋅ 3 + 1 = 72⋅3+1=72\cdot 3+1=7,然后2 ⋅ 3 ⋅ 7 + 1 = 432⋅3⋅7+1=432\cdot 3\cdot 7+1=43,那么2 ⋅ 3 ⋅ 7 ⋅ 43 + 1 = 13 ⋅ 1392⋅3⋅7⋅43+1=13⋅1392\cdot 3\cdot 7\cdot 43+1=13\cdot 139,所以无论131313和139139139是新的素数,等等。在我们得到一个复合数的情况下,我们只取最少的新素数。结果为A000945。 挑战 给定一个质数p1个p1p_1和一个整数ñnn计算定义的序列的第ñnn个项pñpnp_n,如下所示: pñ:=分钟(素数(p1个⋅ …

28
让我变元
背景 对于此挑战,“元序列”将被定义为一系列数字,其中不仅数字本身会增加,而且增量也会增加,并且增量将增加值,依此类推。 例如,第3层元序列将从以下内容开始: 1 2 4 8 15 26 42 64 93 130 176 因为: 1 2 3 4 5 6 7 8 9 >-| ↓+↑ = 7 | Increases by the amount above each time 1 2 4 7 11 16 22 29 37 46 >-| <-| | Increases …

30
画一些扩大的箭头
这个挑战是关于打印一系列不断增长的ASCII艺术箭头。我将用语言描述模式,但是看一下本系列开始的内容可能会更容易: > < -> <- --> <-- ---> <--- ----> <---- -----> <----- ------> <------ ... 长度为n的箭头包含箭头(<或>)和n-1破折号(-)。朝右的箭头先是破折号,然后是>。左箭头以开头<,后接短划线。该系列包括一个长度为n向右的箭头,然后是长度为n的左向箭头,其中n从1到无穷大。 要完成挑战,请编写一个程序或函数,该程序或函数接受一个输入,一个整数i >= 1并输出第一个i箭头。箭头是单独的,不是左右成对的,因此i=3您应该输出: > < -> 您可以返回字符串列表,或一个接一个地打印它们。如果要打印,则箭头必须由一些一致的定界符来定界,而不必像示例中那样是换行符。 这是代码高尔夫球,因此最少的字节获胜。

28
头晕的整数枚举
今天的挑战是输出一个枚举所有整数的给定序列项。该序列如下:如果我们有一个0索引函数生成该序列,f(n)并且ceil(x)是上限函数,则f(0) = 0; abs(f(n)) = ceil(n/2); sign(f(n))当n和ceil(n/2)都为偶数或均为奇数时为正。 为了帮助理解此顺序,前几个术语如下: 0 1 -1 -2 2 3 -3 -4 4 5 -5 -6 6 7 -7... 您的任务是编写一个程序,该程序需要一个整数n并输出n序列的第n个项。输入只能是0或1索引。 测试用例(0索引): 0 => 0 1 => 1 2 => -1 3 => -2 4 => 2 5 => 3 这是代码高尔夫球,最少字节获胜!

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.