登录
OEIS由OEIS基金会的许多慷慨捐赠者.

 

标志
提示
(来自的问候整数序列在线百科全书!)
A051775号 表T(n,m)=n和m的Nim乘积,用反对偶法读取,对于n>=0,m>=0。 29

%I#50 2021年1月22日20:46:22

%S 0,0,0,1,0,2,2,0,00,3,3,0,4,1,4,0,5,8,5,0,6,10,12,12,

%T 10,6,0,0,7,11,15,6,15,11,7,0,8,9,13,2,13,9,8,0,,0,9,12,14,14,7,14,

%U 14,12,9,0,0,10,14,4,10,8,8,10,4,14,10,10,0,11,15,7,11

%N表T(N,m)=N和m的Nim乘积,用反对偶法读取,对于N>=0,m>=0。

%C算法注释,R.J.Mathar_,2011年5月29日:(开始)

%C让N*表示两个数字的Nim积,N+表示两个数的Nim和(A003987),让*和+表示通常的乘法和加法。

%C要计算n n*m,借助n=n0+n1*2+n2*4+n3*8+n4*16的二进制表示,将n和m分别写成Nim和。由于Nim求和与二进制XOR函数相同,因此在这两个求和中,可以用N+替换+:

%C n=Nim-sum_i 2^a(i)和m=Nim-sum_j 2^b(j),具有两个整数序列a(i”)和b(j”)。

%C由于N+和N*是字段中的运算,N+和N*是分配的,用于将求和的乘积写成Nim-乘积上的双Nim-和:

%CnN*m=Nim-sum_{i,j}2^a(i)n*2^b(j)。

%剩下的就是计算2的幂的尼姆乘积。

%C将a(i)和b(j)分别拆分为费马数A001146的(普通)乘积(即,将a(i)和b(j)写成二进制),并注意到不同费马数的普通乘积等于不同费马数的尼姆乘积,

%C2^a(i)N*2^b(j)=2^(2^A0)N*2^(2^A1)N*。。。N*2^(2^B0)N*2#(2^B1)N*。。。对于两个二进制整数序列A和B。

%C此有限乘积通过配对A序列和B序列中相同位的情况来重新分组。如果在两个序列中都设置了位,则使用Fermat数的Nim-square是该Fermat号的3/2倍(普通倍数);如果位仅在两个序列中的一个序列中设置,则(再次)使用不同费马数的尼姆积是普通积。

%C由于Nim-squares的潜在存在,这通常会留下一个Nim-乘积,通过递归处理。

%C此算法在b文件中的Maple程序中实现。nimprodP2()计算2的两次幂的Nim乘积。(结束)

%D J.H.Conway,《数字与游戏》,学术出版社,第52页。

%H R.J.Mathar,n表,n=0..1890的a(n)</a>

%H Tilman Piesk,256x256表格和https://commons.wikimedia.org/wiki/类别:Nimber_multiplication_8_bit;_对偶“>对偶矩阵</a>

%H Rémy Sigrist,x=0..1023和y=0..1023</a>时T(x,y)的彩色表示

%H维基百科,<a href=“http://en.wikipedia.org/wiki/Nimber“>宁伯</a>

%H<a href=“/index/Ni#Nimmult”>与Nim-乘法相关的序列的索引项</a>

%e表格开始:

%e 0 0 0 0 00 0 0 0.0 0 0 0 0.00 0 0 0。。。

%e 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15。。。

%e 0 2 3 1 8 10 11 9 12 14 15 13 4 6 7 5。。。

%e 0 3 1 2 12 15 13 14 4 7 5 6 8 11 9 10。。。

%e 0 4 8 12 6 2 14 10 11 15 3 7 13 9 5 1。。。

%e 0 5 10 15 2 7 8 13 3 6 9 12 1 4 11 14。。。

%e(…)

%p我们从A003987继续:使用(a)加法表AT:=数组(0..NA,0..NA)和(b)用于较大值的nimsum过程计算Nim-乘法表;MT:=阵列(0..N,0..N);对于从0到N的a,执行MT[a,0]:=0;MT[0,a]:=0;MT[a,1]:=a;MT[1,a]:=a;od:对于从2到N的a,对于从a到N的b,do t1:={};对于i从0到a-1,对于j从0到b-1,do u1:=MT[i,b];u2:=MT[a,j];

%p如果u1<=NA且u2<=NA,则u12:=AT[u1,u2];else u12:=nimsum(u1,u2);fi;u3:=公吨[i,j];如果u12<=NA和u3<=NA,则u4:=AT[u12,u3];否则u4:=尼姆(u12,u3);fi;t1:={op(t1),u4}#t1:={op(t1),AT[AT[MT[i,b],MT[a,j]],MT[i,j]]};od;od;

%p t2:=排序(转换(t1,列表));j:=nops(t2);对于i从1到nops(t2),如果t2[i]<>i-1,那么j:=i-1;断裂;fi;od;MT[a,b]:=j;MT[b,a]:=j;od;od;

%o(PARI)NP_table=映射();NP(x,y)={if(x<2||y<2,x*y,映射已定义(NP_table,if(y>x,[x,y]=[y,x],[x、y]),映射(NP_table[x,y]),x==3,y-1,x==2,3,my(F=4);直到(!F*=F,if 3);中断);我的(t=2*F);直到(F*F<=t*=2,如果(x==t,如果(y<F,F=NP(NP(y,t\F),F);中断(2));我(i=F);直到(t<=i*=2,如果(y<2*i,F=if(y>i,bitxor(NP(t,i),NP(t,y-i;断裂(3));如果(y==t,F=NP(F\2*3,NP(t/F,t/F));断裂(2));如果(x<2*t,F=比特或(NP(t,y),NP(x-t,y;断裂(2));mapput(NP_table,[x,y],F);F) }\\_M.F.哈斯勒,2021年1月18日

%o A051775(n,m=“”)={if(m!=“”,NP(n,m),NP哈斯勒,2021年1月22日

%Y参考A051776、A003987。

%K tabl,不,简单,好

%0、8

%A _N.J.A.Sloane,1999年12月19日

查找|欢迎光临|维基|注册|音乐|地块2|演示|索引|浏览|更多|网络摄像头
贡献新序列。或评论|格式|样式表|变换|超级搜索|最近
OEIS社区|维护人OEIS基金会。

许可协议、使用条款、隐私政策。.

上次修改时间:美国东部夏令时2024年5月10日19:29。包含372388个序列。(在oeis4上运行。)