这个网站是由捐款支持的OEIS基金会.

用户:M.F.Hasler/相邻项的素数和

来自OeisWiki
跳转到:航行,搜索

相邻项的素数和

介绍

本页讨论一个系列(或两个系列)的序列形式:

对所有人no确实有N和中的素数(n+)+a型(n+j),0≤<j<:
 S(N、 M;o)词典学中第一个这样的不同数序列是否≥a(o) =o.

根据o=0或1,我们得到一个以(0)=0开头的“非负变量”或以(1)=1开头的“正变量”。

两者似乎都是排列(参见。部分满射性(见下)的相应集合N={0,1,2,…}分别。N*={1,2,3,…},全部兼容的价值观N,见下一小节。

“非负”变量对N*(即正指数和正值)是N*,但不一定首先是词典编纂法: 只适用于某些特定的(N、 米)我们确实有(N、 米;1) =秒(N、 米;0)\{0}(稍微滥用符号):

S(2,3;1)=S(2,3;0)\{0}=A329411型;S(4,4,0)=S(4,4,1)U{0}=A329449型;S(6,5;0)=S(6,5;1)U{0}=A329425型.

有趣的是,这些案例N=N最大值(M) ,可能的最大值(参见下一小节)=6和N=9=N最大值(6) ,序列S(N、 米;0)和S(N、 米;1)非常不同。

但事实并非如此(S,S(N、 米;0)和S(N、 米;1)区别于“从一开始”),那么这两个变体通常在以后的任何时候都不会合并,这是非常令人惊讶的。我们只知道两个例外,即:

A329333飞机\{=1,3,3,…(1,4,3)等于(1,4,0,…(3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3N*\{1,2,3,4,5}。
S(7,6;0)等于S(7,6;1)开N*\{5,6;11,12}:
n | 0,1,2,3,4,5,67,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,……————————————————————————————————————————————————————————————————————————————————————————————,8,8,11,26,15,9,32,14,17,20,21,27,10,16,19,7,12,13,24,6,23,35,25,…S(7,6;1)(n)|-1,2,3,4,5,8,11,26,15,9,14,32,17,20,21,27,10,16,19,7,12,13,24,6,23,35,25。。。


兼容(N,M)

使用连续值,我们有(+1) /2对和。然而,相同的对等项不能产生一个素数和N最大值≤地板(/2) ·天花板(/2) 素数和。取决于,这将产生以下最大值N以及相应的序列:

     N最大值   o=0o=1 
 2 1邮编:A128280        A055265号更简单的定义:a(n)+a(n+1)是所有n的素数A329411型{0}A329411型4 4个A329449型        A329449型\{0}
 5 6A329425型        A329425型\{0}
 6 9A329569型        A329568型与上面两个不同的是,这里的S(9,6;1)与S(9,6;0)大不相同!A329572型        A329573型816? ?       已知的是A329581型(N=11),A329580型(N=10)。

序列

方阵表格

N | M=2 3 4 5 6 7 8 9 10=M | N |--------------+-------------+------------------+----------+-------------+----------+-------------+------------------+--------+--------+--------12 |#A329572型*12 
 12 |#A329573型*十二 十一-A329581型°11 
 10 |(此处N>N最大值:  -----------A329580型°10 
 9 |不可能)#A329569型°A329579型°9 
 9 |--#A329568型*九 1248度=1248度-----------A329567°A329577型°7 
 6 |*表示o=1-#A329425型²A329566飞机°*S(7,7,1)=(1..6,89,8,7,9..11,…)6 5 |²指两者-A329564型°A329565型°5 
 5 |#表示N最大值-----------A329563型*5 
 4 |-#A329449型²A329456°4度 3 |-A329454型°A329455型°3 
 3 |------------A329417飞机*三 2 |-#A329411型²A329452型°A329453型°2 
 2 |-----------#A329411型²A329412飞机*A329413飞机*A329414飞机*A329415*A329416飞机*二 1 |#邮编:A128280°A329333飞机²1 
 1 |#A055265号*A329333飞机²A329406型*A329407型*A329408型*A329409型*A329410*1 0|A253074号°A329450°(待办?)(要做什么?)(要做什么?)(要做什么。。。0 
 0|A055266号*A329405型*(要做什么?)(要做什么?)(要做什么?)(要做什么?)0——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

表为列表

在这里,我们通过减少N(素数和数)的值,然后通过增加M(连续项数)来对序列进行排序。这意味着在某种意义上,首先是“最小平凡”的序列:素数和数较多的序列不太容易计算,但随着连续项数的增加,它们越来越容易计算(而且“平滑”)。

A329574型(N=12,M=7;1),(M=7的Nmax;o=0的变体尚不清楚)A329581型(N=11,M=8;0),对于其它M,贪婪计算块在N=。。。A329580型(N=10,M=8;0),--//--A329569型(N=9,M=6;0),A329568型(N=9,M=6;1),Nmax=6毫米,A329579型(N=9,M=7;0)
—(N=8,M=6;0),A329577型(N=7,M=7;0),A329425型(N=6,M=5;0和1)(M=5时的最大值),A329566飞机(N=6,M=6;0),A329564型(N=5,M=5;0),A329563型(N=5,M=5;1),A329565型(N=5,M=6;0),A329449型(N=4,M=4;0),(M=4时的最大值),A329456(N=4,M=5,0),A329417飞机(N=3,M=4;1),A329454型(N=3,M=4,0),A329455型(N=3,M=5,0),A329411型(N=2,M=3;1和0)A329452型(N=2,M=4;0),A329412飞机(N=2,M=4;1),A329453型(N=2,M=5;0),A329413飞机(N=2,M=5;1),A329414飞机(2,M=6;1),A329415(2,M=7;1),A329416飞机(2,M=10;1),邮编:A128280(N=1,M=2;0),A055265号(N=1,M=2;1),A329333飞机(N=1,M=3;0和1):
 S(1,3;0)=(0,1,3,6,2,7,4,…)除非在“素数”前面加上“奇数”:则得到0,后跟S(1,3;1)=(1,2,7,3,6,4,…)。从a(6..)=(4,5,8,10,11,9,12,…)开始,两者相等。A329406型N=4米,A329407型(1,5;1),A329408型(1,6;1),A329409型(1,7;1),A329410(1,10;1);A253074号(N=0,M=2;0)=0,A055266号(0,2;1);A329450(0,3;0),A329405型(0,3;1):这里必须出现质数!

备用表:按A号

A055265号(N=1,M=2;1),A055266号(N=0,M=2;1);邮编:A1282800,N=2米,A253074号0,N=0米;A329333飞机(N=1,M=3;0/1);。A329405型(0,3;1),A329406型(1,4;1),A329407型(1,5;1),A329408型(1,6;1),A329409型(1,7;1),A329410(1,10;1);A329411型(2,3;1/0),A329412飞机(1,4),A329413飞机(2,5;1),A329414飞机(2,6;1),A329415(2,7;1),A329416飞机(2,10;1);A329417飞机(3,4;1),--(回收)A329425型(6,5;0/1);
。A329449型(4,4;0),A329450(0,3;0),(-51:回收利用)A329452型(2,4;0),A329453型(2,5;0),A329454型(3,4,0),A329455型(3,5,0),A329456(4,5,0)。[到此范围结束!]
.A329563型(5,5;1),A329564型(5,5,0);A329565型(5,6,0)A329566飞机(6,6;0),A329567(7,6,0),A329568型(8,6;0),A329569型(9,6;0),-70/-71:RamanujanA329572型(10,7,0)A329573型(11,7,0)A329574型(12,7,1),A329575型(九),A329576型(7,6;1),A329577型(7,7;0),A329578型:回收利用!A329579型(9,7;0),A329580型(10,8;0),A329581型(11,8;0),

关于存在等等

所有n≥o的序列是否存在?

如果序列是以贪婪的方式计算的,这意味着对于给定的n,我们假设给定

P(n):={a(n-1),…,a(n-M+1)}因此n(n):={(x,y)in P(n)²| x<y,x+y是素数}

它可以取{0,…,N}中的值。我们必须找到一个(n),使得a(n)+P(n)中有正n-n(n)素数。(P(n)有M-1个不同的元素,因此a(n)+P(n)也是如此,即使x+y的和不一定是不同的,并且a(n)+P(n)中的一些素数可能与n(n)中已经计算的素数相同。)

当N-N(N)=0或1时,很容易证明这是可能的。当需要更大数量的素数时,不能无条件地知道上述a(n)是否存在。例如,这需要(和/或暗示)孪生素数猜想或类似猜想,这取决于与给定P(n)相容的素数星座。 然而,如果n≥M,那么至少我们知道P(n)是一个“可容许”星座,因为我们已经用同一集合P(n)获得了所需数量的n素数,以前,附加的数字a(n-M)。

然而,序列不必以贪婪的方式计算。也就是说,如果给定的P(n)不存在a(n)使得a(n)+P(n)包含n-n(n)素数,这就意味着a(n-1)(an可能是a(n-2)等)的考虑值是不正确的,必须做出下一个更大的选择。鉴于这种自由度,这些序列在无穷大范围内的明确性似乎非常有可能。

不是贪婪的可计算变量

更大的N接近N最大值一个术语的贪婪选择是不正确的,因为它阻止了无限期地继续序列。通常,

  • 这种情况很早就发生了,主要发生在初始条款,
  • 在错误的选择之后,构造将立即阻塞,或者在初始值。
  • 一旦初始条款通过,贪婪的选择对所有条款都是正确的,或者至少几百个。

必须排除的选项列表

以下是必须排除的选项列表(“手动”或使用回溯)以计算相应的序列。
(它们表示为(i)≠{…}或简单地称为[i,x]对于a(i)≠x.)

  • S(5,5;0):[5,4],而S(5,5;1)则是直接的。
  • S(8,6;0):[5,5]。
  • 7,7(7),而9(7)是直截了当的。
  • S(10,7;0):a(6)∉{6,7},a(37)≠19,a(58)≠46。。。[这种延迟回溯的需求是非常特殊的!]
  • S(11,7,0):a(5)∉{5,6}。
  • S(12,7,1):a(5),a(6)∉{5..8}。
  • S(12,7,0):a(3)∉{3,4}(=>a(3)=5),a(4)∉{3,4}(=>a(4)=6),a(5)∉{3,4,7..10}。

[为了计算序列,只需知道各个a(i)的最终值就足够了,但是如果不排除,将做出的选择列表包含更多信息。]

有些人举出了例子

我们确实有这样的序列的例子贪婪地从桌子开始。例如,

S(5,5;1)=(1,2,3,4,5,8,9,14,6,23,17,7,12,24,10,13,19,16,18,25,22,15,28,21,26,32,75,…)

是贪婪的计算。但是,如果我们试着从o=0开始,那么我们会正确地找到a(0..4)=(0,1,2,3,6),但是下一个项a(5)将使用4。实际上,{1,2,3,6,4}正好有5对{x,y}之和就是一个素数。然而,当a(6)与{2,3,6,4}相加时,必须给出3个额外的素数,并且已经有两对{2,3}和{3,4}。但这显然是不可能的。所以我们必须使用较大的a(5)=5,来得到

S(5,5;0)=(0,1,2,3,6,5,8,11,7,12,29岁,18,19,4个,13,9,22,10,21,14,57岁,16、15、17……)

没有更多的问题。[我们强调了两个较大的值出现的相对较早,而'4'出现得比较晚。]

让我们注意到S(N,M;0)的存在意味着S(N,M;1)的存在及其“上限”,因为前者对正指数的限制产生了一个可能的(不一定是字典最小)解。但反过来说,通常不可能在S(N,M;1)前“加上”0的前缀,并且在使用前M项的成对和中获得所需数量的素数。

类似地(但与偏移量相反),我们有

S(9,7;0)=A329579型=(0,1,2,3,4,5,20,9,10,8,33,11,6,50,21,17,56,12,47,14,26,7,125,15,24,…)

直截了当,但是如果我们从o=1开始,我们会在

1,2,3,4,5,6,7,?

必须使用(7)=8来代替,然后计算继续进行,没有已知的问题,得到

S(9,7;1)=1,2,3,4,5,6,8,9,14,15,11,23,18,218,20,21,10,33,51,12,38,46,7个,76、25、55、16、17、24、13、28、19、43……)

(注意相当大的a(14)=214,晚期a(23)=7。)

像这样的例子还有很多。[要做的是:“完成”列表?例如。:

S(12,7,1):需要施加a(5)>8,a(6)>8。

然而,在大多数情况下,一旦初始项固定,贪心计算将无限期地工作,或至少工作数百项。[更精确地说:除了下面的例子,它在哪里停止?]

一个值得注意的例外是序列

S(10,7,0)=(0,1,2,3,4,5,8,9,10,14,33,15,20,27,26,11,32,16,41,21,57,116,22,51,38,23,50,63,86,6,17,…)

在这里,不仅(i,x(i))={(6,6),(6,7)}而且{(37,19),(58,46),…}都必须被排除才能继续计算。

满射性

看来这些序列实际上排列它们各自的域,{0,1,2,…}resp。{1,2,3,…},即所有正整数最终都会出现。到目前为止,我们还没有正式的证据来证明这一点,但至少有以下论点:

如果一个数m永远不会出现,这就意味着对于除了某个n*(见下文)之外的所有n,集合P(n)={a(n-1),…,a(n-m+1}}是从未这样m+P(n)将包含所需数量的n-n(n)素数,尽管对于每个P(n),以及a(n-m)+P(n)作为a(n)+P(n)有那么多素数。这似乎是极不可能的,因为根据k元组猜想,这些P(n)中相同的素数产生模式将无限重复。

(如果m是从未出现过的最小数,则上述n*是所有n<m都出现的点。在这一点之前,当有一个较小的数a(n)使得a(n)+P(n)具有所需数量的素数时,m不出现是正常的。)

程序

计算序列的PARI代码

以下计算n序列项(N、 M;o)[注意第一个论点n在参数面前N、 M;o !],从(o) =o;因此,达到(n−1个+o). 其他可选参数(p,美国)如下所述。

S(n,n=3,M=4,o=0,p=[],u=o,u=u,u=Vecum([1<<(p-u | p<-p]))={矢量(n,n,n,if(n>p+1/*正常情况:超出初始值//
,若(o>u,/*一个洞仍保留*/u+=1<(o-u),/*否则*/u>=-u+u++=评估(u+2,2,2));/*利用价值的簿记*/
 p=concat(if( 
#p>=M-1,p[^1],p),o);/*在之前的术语列表中追加o,如果vector full*/
 my(c=N-sum(i=2,#p,sum(j=1,i-1,isprime(p[i]+p[j]));/*素数和的计数,则删除最早的一个。需要多少个*/
如果(#p<M-1/*还没有M-1过去的值:任何数量的<=c额外素数是可以接受的,我们将完成。。。*/,for(k=u,oo,bittest(u,k-u)| | vecsum([isprime(p+k)| p<-p])>c |[o=k,break])/*…与下一个项(s)一起使用。*/,对于(k=u,oo,bittest(u,k-u)| | vecsum([isprime(p+k)| p<-p])!否则,我们就不需要了。在这里输入“;print(o”,“)”以显示函数不返回时的进度(在某个n处无限k循环)。*/;o)/*结束向量*/+print([u])}/*在计算结束时打印最小的未使用数*/

可用于调整计算的其他可选参数:

  • 矢量p持有−1个过去的值,因此可以从o,遵循中给出的值p. 程序将初始化位图美国相应地,见下文。[注:程序可以给予超过-1初始值p(加上价值o=:a(n)).]
此选项可用于在已知值a(n)=o的给定点处恢复计算,前面加M-1项p=(a(n-M+1),…,a(n-1))。但如果其他更大的值出现得更早,那么美国(参见下文)必须手动初始化。
  • 变量美国等于最小未使用到目前为止的值(在p,但在使用之前o). 仅限条款≥美国会考虑在寻找解决方案时,较小的值是“禁止”的。
  • 美国存储值≥的位掩码美国已经在前面使用过,因此被排除在外。给你一点j≥0对应于该值美国+j,参见。最痛苦的(…)在代码中。

变体

参数p,美国美国允许绕过贪婪计算会阻塞的点。但正如下面的例子所示,这有点麻烦。因此,我们还实现了一种不同的机制,通过“排除列表”X={(i、 十)}. 例如,X={(2,3),(3,4)}表示第二项禁止使用值a(n)=3,第三项禁止使用值a(n)=4。[由于PARI向量从索引1开始,我们忽略了偏移量,所以当序列从偏移量0开始时,我们必须使用i=n+1。]

此外,我们可以替换总和(x)以稍短更快的速度#[0 | x<-p,isprime(x+k)].

我们也可以将两条中心线结合起来,这两条中心线只在“>”vs“上有所不同!=“根据大n的一般情况或n<M或更确切地说是#p<M-1的特殊情况,也就是说,当仍在素数总和可能小于目标值n的初始项内时,我们注意到条件n(…)≤c可以写成n(…)-c≤0 或c-n(…)≥0,但决不能为负。为了允许#p<M-1的不等式,我们可以取c-N(…)和(如果p<M-1为0,如果p>=M-1,则取1):这是

  • 如果c<N(…),
  • 当c=N(…)或c>N(…)且#p<M-1时为零,
  • 如果c>N(…)且#p>=M-1,则严格正。

所以我们需要它总是零,而数字“0或1 if…”只是#p>=M-1的艾弗森括号:

SX(n,n=n=3,M=4,o=0,X=[],p=[],u=o,u=Vecum([1<<(X-u | X<-p]),LIM=199/*或:oo*/)={向量(n,n,;若(n>p+1/*正常情况:超出初始值*/;若(o>u,/*一个洞仍有*/u+=1<<(o-u-u),/*否则*/u>=u+u+u+=估值(u+2,2,2))(u+u+u+=估价(u+2,2,2))(u+u+u+u+u+u+u+u+;/*使用值记账*/
 p=concat(如果(#p>=M-1,p[^1],p),o);/*如矢量满*/
我(c=N-sum(i=2,#p,sum(j=1,i-1,ISPPrime(p[i]+p[j])))),T=#p>=M-1);/*计数素数和的数目,以及(k=u=u,u+指数(u+1)+LIM,Bitst(u,k,k-u)u,k,k-u)| | min(c###[0 |[0 | p,ISPP,ISPP,p | p#[0 |#p,ISPP,ISPP,ISPP雾凇(x+k)],T)| |设置搜索(x,[N,k])| |[o=k,break]);o==p[#p]&&p=[u=o=LIM=u=-3]/*项未找到:这些设置将用-3填充向量的其余部分。*/,#p,n>1 | p=concat(p,o);o=p[n];n<#p | | p=p[^n]/*p已给定(否则,不执行任何操作:o已设置)*/
)/*如果n>#p+1,则结束。在这里输入“;print(o”,“)”以显示函数不返回时的进度(在某个n处无限k循环)。*/;o)/*结束向量*/+print([u])}/*在计算结束时打印最小的未使用数(忽略最后一个项)*/

待办事项:实现回溯以防循环阻塞。一个简单的(?)方法可包括以下内容:

  • 修正一个搜索限制LIM比通常的“差距”=>完成!
  • 只执行“for(k=…)”循环,直到LIM+目前为止使用的最大值,指数(U)+U.=>完成!
  • 如果上一个值p不存在,则上一个值p不存在,
[这有点复杂!需要重建u,u和p的早期值(如何…!!);
-使用“同一个循环”来查找前一个术语的替换项;
-需要使其在向量中可见,例如,在a(n-1)的替换值周围使用[.]。。。
=>必须放弃当前结构S(…)=向量(n,n,…):a(n-1)的试验可能会很快填充向量。]
  • 如果LIM中没有找到替换值,请进一步后退一步,等等。。。

用法示例

程序通常会用正确的初始值填充向量p,以便N第一次实现素数和条款。但是,如果为a(n)选择了一个明显可能的值,那么默认的贪心计算可能会因此而阻塞,而这个值后来被证明是不可能继续的,囊性纤维变性。以上不贪婪的可计算示例S(5,5;0)。在这种情况下,可以通过第4个参数来施加正确的a(n)值o,并给出-1个值p,以及美国. 例如,为了避免在计算S(5,5;0)时陷入困境:

S(30,5,5,5,[1,2,3,6],4)\\第4个参数o=5迫使a(4)=5,而不是较小的可能会阻塞的4。

我们必须在这里给出一个(1..4)来得到索引5(但是可以给出(0..4)!),即使这些值在默认情况下计算正确。这就回来了

[1,2,3,6,5,8,11,7,12,29,18,19,4,13,9,22,10,21,14,57,16,15,17,…],

即序列S(5,5;0)没有它的首字母0.

在上面我们把p=a(1..4)“用手”。要得到这些由S(.)计算的初始值,只需要n=M+1项:

S(6,5,5)\=[0,1,2,3,6,4]

到目前为止,这是“正确的”(即,满足约束条件),可以使用

vector(#%-4,n,n(%[n..n+4]))\\,函数n()在小节中给出#杂项代码在下面

我们可以肯定,这个项目已经做出了最小的选择,所以我们知道a(4)≥6我们必须设法找到解决办法p=[1,2,3,6]和美国=4,但较大的o=a(5)。如果这是不可能的,我们需要尝试使用更大的a(4)>6作为最后一个元素p.

使用我们程序的第二个变体,我们得到了相同的结果包括首字母a0=0有点简单

SX(30,5,5,0,[[6,4]])\\其中X=[[6,4]]表示“禁止第6项的值4”(=a(5),但PARI向量从索引1开始)。

再加上程序在找不到任何项时不会卡住(而是用虚拟值填充向量)的额外改进,这使得在非贪心的情况下通过反复试验找到解决方案变得相当容易。

第二个示例:S(8,7;0)和S(8,7;1)

让我们计算S(8,7;0),也就是说,由7个项得到8个素数和。贪婪的方法

P=S(7,8,7)\=[0,1,2,3,4,5,90]
N(P)\=8

,(0,1,2,3,4,5,90,…),其中{0,…,5}已经有8个素数和,90不给出任何额外的素数和。

但这样就不可能继续,这相当于用另一个术语替换0来保持相同的计数:

for(n=69999,P[1]=n;n(P)==8&&return(n))\\不给出结果

事实上,如果没有0,我们在{1,2,3,4,5,90}中有5个素数和(^5(第1页)*/),并且不可能通过添加一个项x得到3个:

  • 如果它是偶数x,那么x+1,x+3和x+5必须产生一个素数,这对于x≠2是不可能的:如果x+3不能被3整除,那么x+1或x+5都可以被3整除。
  • 用奇数x求三个素数和x+2,x+4和x+90:前两个意味着{x+2,x+4}={5,7}(mod 6),即x=3(mod 6),但x+90可被3整除。

因此90是不可能的,但是我们发现91也是一个解决方案:

P[1]=0;对于(n=6199,P[7]=n;n(P)==8&&print1(n“,”)\\=>90、91、114、115、116、117。。。

并允许继续:

S(8,8,7,91,[0..5],6)\=[0,1,2,3,4,5,91,6]

但当我们试图超过8个条件时,它就会被阻止。我们可以“作弊”以查看下一个更大的选择(>6)以下的91:

S(8,8,7,91,[0..5],7)\=[0,1,2,3,4,5,91,10]

实际上可以用更大的n,例如。,S(88,8,7,91,[0..5],7),以获得令人惊喜的是,计算并没有阻塞任何更多。(但这些条款是不正确的,因为我们非法禁止了第6条。)

我们也可以找到10个以上的选择,上面有一个循环,

P[7]=91;对于(n=7199,P[1]=n;n(P)==8&&print1(n“,”)\\=>10、12、16、18、36、40、58、66、100。。。

现在要得到正确的继续,

S(99,8,7,10,[1,2,3,4,5,91],6)\=[1,2,3,4,5,91,10,9,8,33,6,7,11,20,12,23,13,30,24,29,16,15,14,17,26,…]

我们已经知道[0..5,91]是可以的,请再次检查其余部分:

向量(#%-6,n,n(%[n..n+6])\\仅8个!

从0开始的第一个音符是0!从1开始的顺序是:

P=S(7,8,7,1)\=[1,2,3,4,5,6,19]

这也阻止了n=7:我们再次检查是否没有可能继续。

for(n=7999,P[1]=n;n(P)==8&&return(n))\\无结果!所以我们禁止19:
S(7,8,7,6,[1..5],0,2^19)\\=[1,2,3,4,5,6,20]\\让我们试试这个20:
S(77,8,7,20,[1..6],7)\=[1,2,3,4,5,6,20,9,8,11,7,10,12,19,18,16,21,13,…]

这是o=1的最小解,我们可以用向量(#%-6,n,n(%[n..n+6])).

关于使用的注释向量求和()

它们相当于:vecsum([…p..p<-p])=总和(i=1,#p,…p[i]…). 前者分配了一个辅助向量,但在实际应用中速度更快。旁注:如果p只在…内出现一次,否则向量求和更短。但由于OEI在每个“,”后插入空格总和(…),向量求和()无论如何,都会给出较短的代码。

如果我们只是二进制/布尔值的和{0,1},那么只计算(非零)项的数量可能会更快,方法是用一个只包含这些项的向量来计算。一个非零向量占据了大量的空间(注意!考虑大小字节(Vec(0100))大小字节([1 | x<-[0..99]])一个(不太好的)惊喜!)因此:

sum(i=1,#p,isprime(p[i])=>更好:vecsum([isprime(p),p<-p])=>更好:#[0 | p<-p,isprime(p)]

杂项代码

下面的函数(在上面使用)计算给定集合P的和为素数的对{x,y}⊂P的数目:

N(P)=和(i=2,#P,sum(j=1,i-1,isprime(P[i]+P[j]))

(通过“对{x,y}⊂P”,我们的意思是“(x,y)∈P×P和x<y”,即x≠y,并且不计算两次素数x+y=y+x。(在x=y的情况下,只有x=y=1可以给出一个素数,但我们要明确排除所有这些病态。)。在上面的代码中,P可以是一个无序列表或向量,但它不应该有重复的元素;否则,如果这些元素贡献素数,它们将以相应的重数计数,例如N([1,1,2,2])=5,1+1=2和2×2=4乘以1+2=3。当然,如果一个素数是以两种方式产生的,我们确实要数两次,就像[3,5,12,14]中的17=3+14=5+12。)

工具书类

  • 埃里克·安吉里尼,相邻项的素数,个人博客“Cinquante signes”(并发布到SeqFan列表),2019年11月11日。
  • 埃里克·安吉利尼,相邻项的素数,SeqFan list,2019年11月11日。

作者身份

M、 哈斯勒,用户:M.F.Hasler/相邻项的素数和.— 来自在线整数序列百科全书®Wiki(OEIS®Wiki)。[https://oeis.org/wiki/User:M.\u F.\u Hasler/Prime_sums_from_neighbor_terms]。

初始版本写于2019年11月23日,使用按顺序出版的材料A329333飞机,A329452型2019年11月12日至15日。
MFH于2020年2月9日至11日提供额外捐款。