32階環Z[i]/(4+4i)的單個和2個生成元的真子環的子環ID分佈I1I2:
Z[i]/(4+4i)=R32_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,16,0,0],8,1,1,16,2,3,7,112,15,32,[1,3,4,4,12,8],[[2,4,16],[2,8,48],[4,2,16],[4,4,144],[4,8,192],[8,2,48],[8,4,192],[8,8,256]]
I1I2=[[1,1,1],[2,1,3],[4,2,4],[8,3,4],[16,7,4],[16,109,8]],[[2,1,3],[4,2,10],[4,4,3],[8,3,22],[8,16,12],[16,7,70],[16,109,92]]
Z[i]/([1+1i],4+4i)=R16_109:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,0,0],4,1,0,16,1,3,7,80,15,16,[1,3,4,0,8],[[2,4,16],[4,2,16],[4,4,144]]
I1I2=[[1,1,1],[2,1,3],[4,2,4]],[[2,1,3],[4,2,10],[4,4,3],[8,16,12]]
Z[i]/([2+2i,2],4+4i)=R8_16:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,4,0],4,1,0,8,1,3,7,48,7,8,[1,3,4,0],[[4,4,16]]
I1I2=[[1,1,1],[2,1,3],[4,2,4]],[[2,1,3],[4,2,10],[4,4,3]]
72階環Z[i]/(6+6i)的單個和2個生成元的真子環的子環ID分佈I1I2:
R72_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,8,4,24,0,0,32,0,0,0,0],12,1,1,40,4,1,3,340,39,72,[1,1,2,4,2,2,6,8,6,4,24,12],[[2,
2,4],[2,4,12],[2,6,32],[2,12,96],[3,3,64],[3,6,192],[3,12,256],[4,2,12],[4,4,16],[4,6,96],[4,12,128],[6,2,32],[6,3,192],
[6,4,96],[6,6,576],[6,12,768],[12,2,96],[12,3,256],[12,4,128],[12,6,768],[12,12,1024]]
I1I2=[[1,1,1],[2,1,1],[3,2,2],[4,3,2],[4,5,2],[6,2,2],[8,22,2],[9,11,6],[12,0,8],[18,11,6],[24,-1,4],[36,-1,24]],[[2,1,1],[3,2,3],[4,3,5],[4,5,5],[6,2,11],[8,22,17],[9,11,33],[12,0,92],[18,11,105],[24,-1,142],[36,-1,852]]
80階環Z[i]/(4+8i)的單個和2個生成元的真子環的子環ID分佈I1I2:
R80_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,4,0,12,0,48,0,0],20,1,1,48,4,3,3,432,47,80,[1,3,2,4,6,12,4,8,24,16],[[2,4,32],
[2,20,128],[4,2,32],[4,4,144],[4,10,128],[4,20,576],[5,5,16],[5,10,48],[5,20,192],[10,4,128],[10,5,48],[10,10,144],[10,2
0,576],[20,2,128],[20,4,576],[20,5,192],[20,10,576],[20,20,2304]]
I1I2=[[1,1,1],[2,1,3],[4,3,2],[5,2,4],[8,21,2],[8,24,4],[10,2,12],[16,105,4],[20,-1,8],[40,-1,24]],[[2,1,3],[4,3,5],[4,4,3],[5,2,10],[8,21,17],[8,24,22],[10,2,102],[16,105,70],[20,-1,212],[40,-1,996]]
Z[i]/([4i,2+2i],8+8i)=R16_117:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,0,0],4,1,0,16,1,7,15,192,15,16,[1,3,4,8,0],[[4,4,64]]
I1I2=[[1,1,1],[2,1,3],[4,1,4],[8,23,8]],[[2,1,3],[4,1,10],[4,4,3],[8,5,12],[8,23,44]]
範數不超過25的高斯整數共有121個。
第1個高斯整數(0,0)=0範數爲0不是高斯素數
第2個高斯整數(1,0)=1範數爲1不是高斯素數
R1_1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1],1,1,1,0,1,0,0,1,0,1,[1],[]
第3個高斯整數(0,1)=範數爲1不是高斯素數
R1_1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1],1,1,1,0,1,0,0,1,0,1,[1],[]
第4個高斯整數(-1,0)=-1範數爲1不是高斯素數
R1_1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1],1,1,1,0,1,0,0,1,0,1,[1],[]
第5個高斯整數(0,-1)=範數爲1不是高斯素數
R1_1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1],1,1,1,0,1,0,0,1,0,1,[1],[]
第6個高斯整數(1,1)=1+1i範數爲2是高斯素數
R2_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1],2,1,1,1,2,0,0,3,0,2,[1,1],[[2,2,1]]
第7個高斯整數(-1,1)=-1+1i範數爲2是高斯素數
R2_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1],2,1,1,1,2,0,0,3,0,2,[1,1],[[2,2,1]]
第8個高斯整數(-1,-1)=-1-1i範數爲2是高斯素數
R2_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1],2,1,1,1,2,0,0,3,0,2,[1,1],[[2,2,1]]
第9個高斯整數(1,-1)=1-1i範數爲2是高斯素數
R2_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1],2,1,1,1,2,0,0,3,0,2,[1,1],[[2,2,1]]
第10個高斯整數(2,0)=2範數爲4不是高斯素數
R4_9:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0],2,1,1,2,2,1,1,8,1,4,[1,2,1],[[2,2,8]]
第11個高斯整數(0,2)=範數爲4不是高斯素數
R4_9:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0],2,1,1,2,2,1,1,8,1,4,[1,2,1],[[2,2,8]]
第12個高斯整數(-2,0)=-2範數爲4不是高斯素數
R4_9:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0],2,1,1,2,2,1,1,8,1,4,[1,2,1],[[2,2,8]]
第13個高斯整數(0,-2)=範數爲4不是高斯素數
R4_9:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0],2,1,1,2,2,1,1,8,1,4,[1,2,1],[[2,2,8]]
第14個高斯整數(2,1)=2+1i範數爲5是高斯素數
R5_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4],5,1,1,1,2,0,0,9,0,5,[1,4],[[5,5,16]]
第15個高斯整數(1,2)=1+2i範數爲5是高斯素數
R5_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4],5,1,1,1,2,0,0,9,0,5,[1,4],[[5,5,16]]
第16個高斯整數(-1,2)=-1+2i範數爲5是高斯素數
R5_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4],5,1,1,1,2,0,0,9,0,5,[1,4],[[5,5,16]]
第17個高斯整數(-2,1)=-2+1i範數爲5是高斯素數
R5_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4],5,1,1,1,2,0,0,9,0,5,[1,4],[[5,5,16]]
第18個高斯整數(-2,-1)=-2-1i範數爲5是高斯素數
R5_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4],5,1,1,1,2,0,0,9,0,5,[1,4],[[5,5,16]]
第19個高斯整數(-1,-2)=-1-2i範數爲5是高斯素數
R5_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4],5,1,1,1,2,0,0,9,0,5,[1,4],[[5,5,16]]
第20個高斯整數(1,-2)=1-2i範數爲5是高斯素數
R5_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4],5,1,1,1,2,0,0,9,0,5,[1,4],[[5,5,16]]
第21個高斯整數(2,-1)=2-1i範數爲5是高斯素數
R5_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4],5,1,1,1,2,0,0,9,0,5,[1,4],[[5,5,16]]
第22個高斯整數(2,2)=2+2i範數爲8不是高斯素數
R8_22:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,4,0],4,1,1,4,2,1,3,20,3,8,[1,1,4,2],[[2,2,4],[2,4,12],[4,2,12],[4,4,16]]
第23個高斯整數(-2,2)=-2+2i範數爲8不是高斯素數
R8_22:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,4,0],4,1,1,4,2,1,3,20,3,8,[1,1,4,2],[[2,2,4],[2,4,12],[4,2,12],[4,4,16]]
第24個高斯整數(-2,-2)=-2-2i範數爲8不是高斯素數
R8_22:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,4,0],4,1,1,4,2,1,3,20,3,8,[1,1,4,2],[[2,2,4],[2,4,12],[4,2,12],[4,4,16]]
第25個高斯整數(2,-2)=2-2i範數爲8不是高斯素數
R8_22:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,4,0],4,1,1,4,2,1,3,20,3,8,[1,1,4,2],[[2,2,4],[2,4,12],[4,2,12],[4,4,16]]
第26個高斯整數(3,0)=3範數爲9是高斯素數
R9_11:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,8,0],3,1,1,1,2,0,0,17,0,9,[1,2,6],[[3,3,64]]
第27個高斯整數(0,3)=範數爲9是高斯素數
R9_11:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,8,0],3,1,1,1,2,0,0,17,0,9,[1,2,6],[[3,3,64]]
第28個高斯整數(-3,0)=-3範數爲9是高斯素數
R9_11:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,8,0],3,1,1,1,2,0,0,17,0,9,[1,2,6],[[3,3,64]]
第29個高斯整數(0,-3)=範數爲9是高斯素數
R9_11:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,8,0],3,1,1,1,2,0,0,17,0,9,[1,2,6],[[3,3,64]]
第30個高斯整數(3,1)=3+1i範數爲10不是高斯素數
第31個高斯整數(1,3)=1+3i範數爲10不是高斯素數
第32個高斯整數(-1,3)=-1+3i範數爲10不是高斯素數
第33個高斯整數(-3,1)=-3+1i範數爲10不是高斯素數
第34個高斯整數(-3,-1)=-3-1i範數爲10不是高斯素數
第35個高斯整數(-1,-3)=-1-3i範數爲10不是高斯素數
第36個高斯整數(1,-3)=1-3i範數爲10不是高斯素數
第37個高斯整數(3,-1)=3-1i範數爲10不是高斯素數
第38個高斯整數(3,2)=3+2i範數爲13是高斯素數
R13_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,12],13,1,1,1,2,0,0,25,0,13,[1,12],[[13,13,144]]
第39個高斯整數(2,3)=2+3i範數爲13是高斯素數
R13_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,12],13,1,1,1,2,0,0,25,0,13,[1,12],[[13,13,144]]
第40個高斯整數(-2,3)=-2+3i範數爲13是高斯素數
R13_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,12],13,1,1,1,2,0,0,25,0,13,[1,12],[[13,13,144]]
第41個高斯整數(-3,2)=-3+2i範數爲13是高斯素數
R13_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,12],13,1,1,1,2,0,0,25,0,13,[1,12],[[13,13,144]]
第42個高斯整數(-3,-2)=-3-2i範數爲13是高斯素數
R13_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,12],13,1,1,1,2,0,0,25,0,13,[1,12],[[13,13,144]]
第43個高斯整數(-2,-3)=-2-3i範數爲13是高斯素數
R13_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,12],13,1,1,1,2,0,0,25,0,13,[1,12],[[13,13,144]]
第44個高斯整數(2,-3)=2-3i範數爲13是高斯素數
R13_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,12],13,1,1,1,2,0,0,25,0,13,[1,12],[[13,13,144]]
第45個高斯整數(3,-2)=3-2i範數爲13是高斯素數
R13_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,12],13,1,1,1,2,0,0,25,0,13,[1,12],[[13,13,144]]
第46個高斯整數(4,0)=4範數爲16不是高斯素數
R16_105:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,0,0],4,1,1,8,2,3,3,48,7,16,[1,3,2,6,4],[[2,4,32],[4,2,32],[4,4,144]]
第47個高斯整數(0,4)=範數爲16不是高斯素數
R16_105:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,0,0],4,1,1,8,2,3,3,48,7,16,[1,3,2,6,4],[[2,4,32],[4,2,32],[4,4,144]]
第48個高斯整數(-4,0)=-4範數爲16不是高斯素數
R16_105:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,0,0],4,1,1,8,2,3,3,48,7,16,[1,3,2,6,4],[[2,4,32],[4,2,32],[4,4,144]]
第49個高斯整數(0,-4)=範數爲16不是高斯素數
R16_105:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,0,0],4,1,1,8,2,3,3,48,7,16,[1,3,2,6,4],[[2,4,32],[4,2,32],[4,4,144]]
第50個高斯整數(4,1)=4+1i範數爲17是高斯素數
R17_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,16],17,1,1,1,2,0,0,33,0,17,[1,16],[[17,17,256]]
第51個高斯整數(1,4)=1+4i範數爲17是高斯素數
R17_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,16],17,1,1,1,2,0,0,33,0,17,[1,16],[[17,17,256]]
第52個高斯整數(-1,4)=-1+4i範數爲17是高斯素數
R17_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,16],17,1,1,1,2,0,0,33,0,17,[1,16],[[17,17,256]]
第53個高斯整數(-4,1)=-4+1i範數爲17是高斯素數
R17_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,16],17,1,1,1,2,0,0,33,0,17,[1,16],[[17,17,256]]
第54個高斯整數(-4,-1)=-4-1i範數爲17是高斯素數
R17_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,16],17,1,1,1,2,0,0,33,0,17,[1,16],[[17,17,256]]
第55個高斯整數(-1,-4)=-1-4i範數爲17是高斯素數
R17_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,16],17,1,1,1,2,0,0,33,0,17,[1,16],[[17,17,256]]
第56個高斯整數(1,-4)=1-4i範數爲17是高斯素數
R17_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,16],17,1,1,1,2,0,0,33,0,17,[1,16],[[17,17,256]]
第57個高斯整數(4,-1)=4-1i範數爲17是高斯素數
R17_2:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,16],17,1,1,1,2,0,0,33,0,17,[1,16],[[17,17,256]]
第58個高斯整數(3,3)=3+3i範數爲18不是高斯素數
R18_22:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1,8,8,0,0],6,1,1,10,4,0,0,51,9,18,[1,1,2,2,6,6],[[2,2,1],[2,6,8],[3,3,64],[3,6,64],
[6,2,8],[6,3,64],[6,6,64]]
第59個高斯整數(-3,3)=-3+3i範數爲18不是高斯素數
R18_22:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1,8,8,0,0],6,1,1,10,4,0,0,51,9,18,[1,1,2,2,6,6],[[2,2,1],[2,6,8],[3,3,64],[3,6,64],
[6,2,8],[6,3,64],[6,6,64]]
第60個高斯整數(-3,-3)=-3-3i範數爲18不是高斯素數
R18_22:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1,8,8,0,0],6,1,1,10,4,0,0,51,9,18,[1,1,2,2,6,6],[[2,2,1],[2,6,8],[3,3,64],[3,6,64],
[6,2,8],[6,3,64],[6,6,64]]
第61個高斯整數(3,-3)=3-3i範數爲18不是高斯素數
R18_22:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1,8,8,0,0],6,1,1,10,4,0,0,51,9,18,[1,1,2,2,6,6],[[2,2,1],[2,6,8],[3,3,64],[3,6,64],
[6,2,8],[6,3,64],[6,6,64]]
第62個高斯整數(4,2)=4+2i範數爲20不是高斯素數
R20_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0,4,12,0],10,1,1,12,4,1,1,72,11,20,[1,2,1,4,8,4],[[2,2,8],[2,10,32],[5,5,16],[5,1
0,48],[10,2,32],[10,5,48],[10,10,144]]
第63個高斯整數(2,4)=2+4i範數爲20不是高斯素數
R20_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0,4,12,0],10,1,1,12,4,1,1,72,11,20,[1,2,1,4,8,4],[[2,2,8],[2,10,32],[5,5,16],[5,1
0,48],[10,2,32],[10,5,48],[10,10,144]]
第64個高斯整數(-2,4)=-2+4i範數爲20不是高斯素數
R20_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0,4,12,0],10,1,1,12,4,1,1,72,11,20,[1,2,1,4,8,4],[[2,2,8],[2,10,32],[5,5,16],[5,1
0,48],[10,2,32],[10,5,48],[10,10,144]]
第65個高斯整數(-4,2)=-4+2i範數爲20不是高斯素數
R20_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0,4,12,0],10,1,1,12,4,1,1,72,11,20,[1,2,1,4,8,4],[[2,2,8],[2,10,32],[5,5,16],[5,1
0,48],[10,2,32],[10,5,48],[10,10,144]]
第66個高斯整數(-4,-2)=-4-2i範數爲20不是高斯素數
R20_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0,4,12,0],10,1,1,12,4,1,1,72,11,20,[1,2,1,4,8,4],[[2,2,8],[2,10,32],[5,5,16],[5,1
0,48],[10,2,32],[10,5,48],[10,10,144]]
第67個高斯整數(-2,-4)=-2-4i範數爲20不是高斯素數
R20_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0,4,12,0],10,1,1,12,4,1,1,72,11,20,[1,2,1,4,8,4],[[2,2,8],[2,10,32],[5,5,16],[5,1
0,48],[10,2,32],[10,5,48],[10,10,144]]
第68個高斯整數(2,-4)=2-4i範數爲20不是高斯素數
R20_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0,4,12,0],10,1,1,12,4,1,1,72,11,20,[1,2,1,4,8,4],[[2,2,8],[2,10,32],[5,5,16],[5,1
0,48],[10,2,32],[10,5,48],[10,10,144]]
第69個高斯整數(4,-2)=4-2i範數爲20不是高斯素數
R20_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,0,4,12,0],10,1,1,12,4,1,1,72,11,20,[1,2,1,4,8,4],[[2,2,8],[2,10,32],[5,5,16],[5,1
0,48],[10,2,32],[10,5,48],[10,10,144]]
第70個高斯整數(5,0)=5範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,24,0],5,1,1,9,4,0,0,81,8,25,[1,12,12],[[5,5,544]]
第71個高斯整數(4,3)=4+3i範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4,20],25,1,1,5,2,4,4,65,4,25,[1,4,20],[[5,25,80],[25,5,80],[25,25,400]]
第72個高斯整數(3,4)=3+4i範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4,20],25,1,1,5,2,4,4,65,4,25,[1,4,20],[[5,25,80],[25,5,80],[25,25,400]]
第73個高斯整數(0,5)=範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,24,0],5,1,1,9,4,0,0,81,8,25,[1,12,12],[[5,5,544]]
第74個高斯整數(-3,4)=-3+4i範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4,20],25,1,1,5,2,4,4,65,4,25,[1,4,20],[[5,25,80],[25,5,80],[25,25,400]]
第75個高斯整數(-4,3)=-4+3i範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4,20],25,1,1,5,2,4,4,65,4,25,[1,4,20],[[5,25,80],[25,5,80],[25,25,400]]
第76個高斯整數(-5,0)=-5範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,24,0],5,1,1,9,4,0,0,81,8,25,[1,12,12],[[5,5,544]]
第77個高斯整數(-4,-3)=-4-3i範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4,20],25,1,1,5,2,4,4,65,4,25,[1,4,20],[[5,25,80],[25,5,80],[25,25,400]]
第78個高斯整數(-3,-4)=-3-4i範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4,20],25,1,1,5,2,4,4,65,4,25,[1,4,20],[[5,25,80],[25,5,80],[25,25,400]]
第79個高斯整數(0,-5)=範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,24,0],5,1,1,9,4,0,0,81,8,25,[1,12,12],[[5,5,544]]
第80個高斯整數(3,-4)=3-4i範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4,20],25,1,1,5,2,4,4,65,4,25,[1,4,20],[[5,25,80],[25,5,80],[25,25,400]]
第81個高斯整數(4,-3)=4-3i範數爲25不是高斯素數
R25_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,4,20],25,1,1,5,2,4,4,65,4,25,[1,4,20],[[5,25,80],[25,5,80],[25,25,400]]
第82個高斯整數(5,1)=5+1i範數爲26不是高斯素數
第83個高斯整數(1,5)=1+5i範數爲26不是高斯素數
第84個高斯整數(-1,5)=-1+5i範數爲26不是高斯素數
第85個高斯整數(-5,1)=-5+1i範數爲26不是高斯素數
第86個高斯整數(-5,-1)=-5-1i範數爲26不是高斯素數
第87個高斯整數(-1,-5)=-1-5i範數爲26不是高斯素數
第88個高斯整數(1,-5)=1-5i範數爲26不是高斯素數
第89個高斯整數(5,-1)=5-1i範數爲26不是高斯素數
第90個高斯整數(5,2)=5+2i範數爲29是高斯素數
R29_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,28],29,1,1,1,2,0,0,57,0,29,[1,28],[[29,29,784]]
第91個高斯整數(2,5)=2+5i範數爲29是高斯素數
R29_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,28],29,1,1,1,2,0,0,57,0,29,[1,28],[[29,29,784]]
第92個高斯整數(-2,5)=-2+5i範數爲29是高斯素數
R29_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,28],29,1,1,1,2,0,0,57,0,29,[1,28],[[29,29,784]]
第93個高斯整數(-5,2)=-5+2i範數爲29是高斯素數
R29_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,28],29,1,1,1,2,0,0,57,0,29,[1,28],[[29,29,784]]
第94個高斯整數(-5,-2)=-5-2i範數爲29是高斯素數
R29_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,28],29,1,1,1,2,0,0,57,0,29,[1,28],[[29,29,784]]
第95個高斯整數(-2,-5)=-2-5i範數爲29是高斯素數
R29_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,28],29,1,1,1,2,0,0,57,0,29,[1,28],[[29,29,784]]
第96個高斯整數(2,-5)=2-5i範數爲29是高斯素數
R29_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,28],29,1,1,1,2,0,0,57,0,29,[1,28],[[29,29,784]]
第97個高斯整數(5,-2)=5-2i範數爲29是高斯素數
R29_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,28],29,1,1,1,2,0,0,57,0,29,[1,28],[[29,29,784]]
第98個高斯整數(4,4)=4+4i範數爲32不是高斯素數
R32_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,16,0,0],8,1,1,16,2,3,7,112,15,32,[1,3,4,4,12,8],[[2,4,16],[2,8,48],[4,2,16],[4
,4,144],[4,8,192],[8,2,48],[8,4,192],[8,8,256]]
第99個高斯整數(-4,4)=-4+4i範數爲32不是高斯素數
R32_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,16,0,0],8,1,1,16,2,3,7,112,15,32,[1,3,4,4,12,8],[[2,4,16],[2,8,48],[4,2,16],[4
,4,144],[4,8,192],[8,2,48],[8,4,192],[8,8,256]]
第100個高斯整數(-4,-4)=-4-4i範數爲32不是高斯素數
R32_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,16,0,0],8,1,1,16,2,3,7,112,15,32,[1,3,4,4,12,8],[[2,4,16],[2,8,48],[4,2,16],[4
,4,144],[4,8,192],[8,2,48],[8,4,192],[8,8,256]]
第101個高斯整數(4,-4)=4-4i範數爲32不是高斯素數
R32_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,3,12,16,0,0],8,1,1,16,2,3,7,112,15,32,[1,3,4,4,12,8],[[2,4,16],[2,8,48],[4,2,16],[4
,4,144],[4,8,192],[8,2,48],[8,4,192],[8,8,256]]
第102個高斯整數(5,3)=5+3i範數爲34不是高斯素數
第103個高斯整數(3,5)=3+5i範數爲34不是高斯素數
第104個高斯整數(-3,5)=-3+5i範數爲34不是高斯素數
第105個高斯整數(-5,3)=-5+3i範數爲34不是高斯素數
第106個高斯整數(-5,-3)=-5-3i範數爲34不是高斯素數
第107個高斯整數(-3,-5)=-3-5i範數爲34不是高斯素數
第108個高斯整數(3,-5)=3-5i範數爲34不是高斯素數
第109個高斯整數(5,-3)=5-3i範數爲34不是高斯素數
第110個高斯整數(5,4)=5+4i範數爲41是高斯素數
R41_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,40],41,1,1,1,2,0,0,81,0,41,[1,40],[[41,41,1600]]
第111個高斯整數(4,5)=4+5i範數爲41是高斯素數
R41_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,40],41,1,1,1,2,0,0,81,0,41,[1,40],[[41,41,1600]]
第112個高斯整數(-4,5)=-4+5i範數爲41是高斯素數
R41_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,40],41,1,1,1,2,0,0,81,0,41,[1,40],[[41,41,1600]]
第113個高斯整數(-5,4)=-5+4i範數爲41是高斯素數
R41_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,40],41,1,1,1,2,0,0,81,0,41,[1,40],[[41,41,1600]]
第114個高斯整數(-5,-4)=-5-4i範數爲41是高斯素數
R41_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,40],41,1,1,1,2,0,0,81,0,41,[1,40],[[41,41,1600]]
第115個高斯整數(-4,-5)=-4-5i範數爲41是高斯素數
R41_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,40],41,1,1,1,2,0,0,81,0,41,[1,40],[[41,41,1600]]
第116個高斯整數(4,-5)=4-5i範數爲41是高斯素數
R41_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,40],41,1,1,1,2,0,0,81,0,41,[1,40],[[41,41,1600]]
第117個高斯整數(5,-4)=5-4i範數爲41是高斯素數
R41_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,40],41,1,1,1,2,0,0,81,0,41,[1,40],[[41,41,1600]]
第118個高斯整數(5,5)=5+5i範數爲50不是高斯素數
R50_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1,24,24,0,0],10,1,1,34,8,0,0,243,33,50,[1,1,12,12,12,12],[[2,2,1],[2,10,24],[5,5,54
4],[5,10,544],[10,2,24],[10,5,544],[10,10,576]]
第119個高斯整數(-5,5)=-5+5i範數爲50不是高斯素數
R50_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1,24,24,0,0],10,1,1,34,8,0,0,243,33,50,[1,1,12,12,12,12],[[2,2,1],[2,10,24],[5,5,54
4],[5,10,544],[10,2,24],[10,5,544],[10,10,576]]
第120個高斯整數(-5,-5)=-5-5i範數爲50不是高斯素數
R50_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1,24,24,0,0],10,1,1,34,8,0,0,243,33,50,[1,1,12,12,12,12],[[2,2,1],[2,10,24],[5,5,54
4],[5,10,544],[10,2,24],[10,5,544],[10,10,576]]
第121個高斯整數(5,-5)=5-5i範數爲50不是高斯素數
R50_-1:N0n0bAbOn1n2n4n5n6n7n8S1N2=[1,1,24,24,0,0],10,1,1,34,8,0,0,243,33,50,[1,1,12,12,12,12],[[2,2,1],[2,10,24],[5,5,54
4],[5,10,544],[10,2,24],[10,5,544],[10,10,576]]
#include"IRing.h"
#include<iostream>
#include<complex>
#include<vector>
#include<algorithm>
using namespace std;
typedef complex<int> GaussianInteger;
unsigned int Primes[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,
107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,
337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,
593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,
857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997};
// 按範數和輻角主值從小到大排列順序
bool lessGaussianInteger(const GaussianInteger &m,const GaussianInteger &n)
{
int norm1=m.real()*m.real()+m.imag()*m.imag();
int norm2=n.real()*n.real()+n.imag()*n.imag();
float arg1=atan2f(m.imag(),m.real());
float arg2=atan2f(n.imag(),n.real());
float pi=atan2f(0,-1);
if(arg1<0)
arg1+=2*pi;
if(arg2<0)
arg2+=2*pi;
if(norm1!=norm2)
return norm1<norm2;
else
return arg1<arg2;
}
string Itos(int a)
{
char sz[20]={0};
sprintf(sz,"%d",a);
return sz;
}
string gStr(GaussianInteger& a)
{
string str;
if(a.real()!=0 && a.imag()>0)
str=Itos(a.real())+"+"+Itos(a.imag())+"i";
if(a.real()!=0 && a.imag()<0)
str=Itos(a.real())+Itos(a.imag())+"i";
if(a.imag()==0)
str=Itos(a.real());
if(a.real()==0 && a.imag()!=0)
str=Itos(a.imag())+"i";
return str;
}
// 有限交換環Z[i]/(a)、mZ[i]/nZ[i]
struct ZimodnZ:public IRing
{
public:
// 靜態函數
static int gcd(int a, int b);
static GaussianInteger Div(const GaussianInteger &a,const GaussianInteger &b);
static bool divide(const GaussianInteger& a, const GaussianInteger& b,GaussianInteger& q, GaussianInteger& r);
static GaussianInteger gMod(const GaussianInteger &a,const GaussianInteger &b);
static int Norm(const GaussianInteger& a);
static GaussianInteger gcd(const GaussianInteger& a, const GaussianInteger& b);
static GaussianInteger simple_gcd(const GaussianInteger& a, const GaussianInteger& b);
static GaussianInteger extended_gcd(const GaussianInteger& a, const GaussianInteger& b,GaussianInteger& x, GaussianInteger& y);
static bool IsPrime(unsigned int N);
static bool IsPrime(const GaussianInteger& a);
static vector<GaussianInteger> FRZi(const GaussianInteger &a,const vector<GaussianInteger> &v);
public:
// 實現抽象基類的方法
virtual void printTable();
virtual int add(int a,int b);
virtual int mul(int a,int b);
virtual int size();
// 構造函數
ZimodnZ(){};
ZimodnZ(const GaussianInteger &a);
// 成員函數
void initFR(const GaussianInteger &m,const GaussianInteger &n);
void initFR(const GaussianInteger &m1,const GaussianInteger &m2,const GaussianInteger &n);
// 成員變量
vector<GaussianInteger> m_Set;
vector<GaussianInteger> m_gen;
GaussianInteger m_a;// 運算爲模a加法和模a乘法
};
ZimodnZ::ZimodnZ(const GaussianInteger &a)
{
m_a=a;
int num=Norm(a);
int nb=abs(gcd(a.real(),a.imag()));
int na=num/nb;
for(int i=0;i<na;i++)
{
for(int j=0;j<nb;j++)
{
GaussianInteger ij=gMod(GaussianInteger(i,j),a);
m_Set.push_back(ij);
}
}
}
vector<GaussianInteger> ZimodnZ::FRZi(const GaussianInteger &a,const vector<GaussianInteger> &v)
{
vector<GaussianInteger> S;
S.push_back(GaussianInteger(0,0));
for(int i=0;i<v.size();i++)
{
GaussianInteger r1=gMod(v[i],a);
S.push_back(r1);
}
int cnt=0;
int cnt1=S.size();
while(cnt1>cnt){
cnt=S.size();
for(int i=0;i<S.size();i++){
for(int j=0;j<S.size();j++){
GaussianInteger ij=gMod(S[i]*S[j],a);
vector<GaussianInteger>::iterator p=std::find(S.begin(),S.end(),ij);
if(p==S.end()){
S.push_back(ij);
}
GaussianInteger ij1=gMod(S[i]+S[j],a);
vector<GaussianInteger>::iterator p1=std::find(S.begin(),S.end(),ij1);
if(p1==S.end()){
S.push_back(ij1);
}
}
}
cnt1=S.size();
}
return S;
}
void ZimodnZ::initFR(const GaussianInteger &m,const GaussianInteger &n)
{
m_a=n;
vector<GaussianInteger> v;
v.push_back(m);
m_Set=FRZi(n,v);
m_gen=v;
}
void ZimodnZ::initFR(const GaussianInteger &m1,const GaussianInteger &m2,const GaussianInteger &n)
{
m_a=n;
vector<GaussianInteger> v;
v.push_back(m1);
v.push_back(m2);
m_Set=FRZi(n,v);
m_gen=v;
}
void ZimodnZ::printTable()
{
int ID=IdRing(this);
string str=calcRingInvariant(this);
printf("R%d_%d:N0n0bAbOn1n2n4n5n6n7n8S1N2=%s\n",size(),ID,str.c_str());
//string I1=calcI1(this);
//string I2=calcI2(this);
//printf("I1I2=%s,%s\n",I1.c_str(),I2.c_str());
//printRing(this);
}
int ZimodnZ::add(int a,int b)
{
if(a<0||b<0)
return -1;
GaussianInteger C=gMod(m_Set[a]+m_Set[b],m_a);
vector<GaussianInteger>::iterator p=std::find(m_Set.begin(),m_Set.end(),C);
int c=-1;
if(p!=m_Set.end()){
c=p-m_Set.begin();
}
return c;
}
int ZimodnZ::mul(int a,int b)
{
if(a<0||b<0)
return -1;
GaussianInteger C=gMod(m_Set[a]*m_Set[b],m_a);
vector<GaussianInteger>::iterator p=std::find(m_Set.begin(),m_Set.end(),C);
int c=-1;
if(p!=m_Set.end()){
c=p-m_Set.begin();
}
return c;
}
int ZimodnZ::size()
{
return m_Set.size();
}
// 利用歐幾里得算法計算兩個數的最大公約數
int ZimodnZ::gcd(int a, int b)
{
if(b == 0) return a;
if(a == 0) return b;
if(a%b == 0) return b;
else return gcd(b, a%b);
}
GaussianInteger ZimodnZ::Div(const GaussianInteger &a,const GaussianInteger &b)
{
std::complex<float> af(a.real(),a.imag());
std::complex<float> bf(b.real(),b.imag());
std::complex<float> cf=af/bf;
// int cr=cf.real()>0?(int)(cf.real()+0.5):(int)(cf.real()-0.5);
// int ci=cf.imag()>0?(int)(cf.imag()+0.5):(int)(cf.imag()-0.5);
int cr=floor(cf.real()+0.5);
int ci=floor(cf.imag()+0.5);
GaussianInteger c(cr,ci);
return c;
}
bool ZimodnZ::divide(const GaussianInteger& a, const GaussianInteger& b,GaussianInteger& q, GaussianInteger& r)
{
q=Div(a,b);
r = a - q*b;
bool bret=(r==GaussianInteger(0,0));
return bret;
}
GaussianInteger ZimodnZ::gMod(const GaussianInteger &a,const GaussianInteger &b)
{
GaussianInteger q=Div(a,b);
GaussianInteger r=a-q*b;
return r;
}
int ZimodnZ::Norm(const GaussianInteger& a)
{
return (a.real()*a.real()+a.imag()*a.imag());
}
GaussianInteger ZimodnZ::gcd(const GaussianInteger& a, const GaussianInteger& b)
{
GaussianInteger x = a, y = b;
if(Norm(x)<Norm(y) )
{
std::swap(x,y);
}
while ( y != GaussianInteger(0,0) ) {
GaussianInteger q,r;
bool ret=divide(x,y,q,r);
x = y;
y = r;
}
return x;
}
GaussianInteger ZimodnZ::simple_gcd(const GaussianInteger& a, const GaussianInteger& b)
{
GaussianInteger aa = a, bb = b;
if(Norm(aa)<Norm(bb) )
{
std::swap(aa,bb);
}
while(bb != GaussianInteger(0,0))
{
GaussianInteger qq, rr;
bool bret=divide (aa, bb, qq, rr);
aa = bb;
bb = rr;
}
return aa;
}
GaussianInteger ZimodnZ::extended_gcd(const GaussianInteger& a, const GaussianInteger& b,GaussianInteger& x, GaussianInteger& y)
{
GaussianInteger aa = a, bb = b;
bool swapped = false;
if(Norm(aa)<Norm(bb) )
{
std::swap(aa,bb);
swapped = true;
}
GaussianInteger xx = 0, lx = 1, yy = 1, ly = 0;
do
{
GaussianInteger qq, rr;
bool bret=divide (aa, bb, qq, rr);
aa = bb; bb = rr;
GaussianInteger tx = lx - qq*xx;
lx = xx; xx = tx;
GaussianInteger ty = ly - qq*yy;
ly = yy; yy = ty;
}while (bb != GaussianInteger(0,0));
x = lx;
y = ly;
if (swapped)
{
std::swap(x,y);
}
return aa;
}
bool ZimodnZ::IsPrime(unsigned int N)
{
if(N==0||N==1)
return false;
int up=sqrt((float)N);
for(int i=2;i<=up;i++)
{
if(N%i==0)
return false;
}
return true;
}
/*
高斯整數a+bi是素數當且僅當:
1)a、b中有一個是零,另一個數的絕對值是形如4n+3的素數;
2)a、b均不爲零,而a^2+b^2爲素數;
*/
bool ZimodnZ::IsPrime(const GaussianInteger& a)
{
int r=abs(a.real());
int i=abs(a.imag());
if(r==0 && (i+1)%4==0)
return true;
if(i==0 && (r+1)%4==0)
return true;
if(r*i>0 && IsPrime(Norm(a)))
return true;
return false;
}
int main(void)
{
//GaussianInteger v[]={GaussianInteger(0,-1),GaussianInteger(3,1)};
//int nv=sizeof(v)/sizeof(v[0]);
//for(int i=0;i<nv;i++)
//{
// ZimodnZ r(v[i]);
// r.printTable();
//}
//system("pause");
//return 0;
if(1)
{
ZimodnZ r32(GaussianInteger(4,4));
r32.printTable();
ZimodnZ r16_109;
r16_109.initFR(GaussianInteger(1,1),GaussianInteger(4,4));
r16_109.printTable();
ZimodnZ r8_16;
r8_16.initFR(GaussianInteger(2,2),GaussianInteger(2,0),GaussianInteger(4,4));
r8_16.printTable();
}
//system("pause");
//return 0;
int Norm=25;
int n=sqrt((float)Norm);
vector<GaussianInteger> vgint;
for(int i=-n;i<=n;i++)
for(int j=-n;j<=n;j++)
{
GaussianInteger a(i,j);
vgint.push_back(a);
}
cout<<"範數不超過"<<Norm<<"的高斯整數共有"<<vgint.size()<<"個。"<<endl;
sort(vgint.begin(), vgint.end(),lessGaussianInteger);
for(int j=0;j<vgint.size();j++)
{
string strDes=ZimodnZ::IsPrime(vgint[j])?"是高斯素數":"不是高斯素數";
int n=ZimodnZ::Norm(vgint[j]);
cout<<"第"<<j+1<<"個高斯整數"<<vgint[j]<<"="<<gStr(vgint[j])<<"範數爲"<<n<<strDes<<endl;
if(n>0 && n!=10 && n!=26 && n!=34){
ZimodnZ r(vgint[j]);
r.printTable();
}
}
system("pause");
return 0;
}