马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
×
比如{3,4,5}这个数组中,有两个素数
{20,21,29}这个数组中,只有一个素数。
也有一个素数都没有的,比如{16, 63, 65},这三个都是合数。
有没有可能三个都是素数?似乎不可能三个都是素数,但是我没办法证明!
现在列出包含两个素数的。
- Clear["Global`*"];(*清除所有变量*)
- max=2*10^6;(*边长的最大值*)
- jmax=-1+Sqrt[-1+max];(*由j^2+(j+2)^2<=2*max计算出j的最大值*)
- aa=Flatten[#,1]&@Table[Sort@{(i*j),(i^2-j^2)/2,(i^2+j^2)/2},(*生成勾股数组,并排序*)
- {j,1,jmax,2},(*指定j的范围*)
- {i,Select[Range[j+2,Sqrt[2*max-j^2],2],GCD[j,#]==1&]}(*指定i的范围*)
- ];
- bb=SortBy[aa,Last];(*按照第三列升序排列,SortBy排序比Sort快很多,原因不知道*)
- cc=Append[#,Total[(If[PrimeQ[#],1,0]&)/@#]]&/@bb;(*添加第四列,第四列为素数个数*)
- dd=Select[cc,#[[4]]>=2&](*选择素数个数>=2的*)
复制代码
输出结果
- {{3,4,5,2},{5,12,13,2},{11,60,61,2},{19,180,181,2},{29,420,421,2},{59,1740,1741,2},{61,1860,1861,2},{71,2520,2521,2},{79,3120,3121,2},{101,5100,5101,2},{131,8580,8581,2},{139,9660,9661,2},{181,16380,16381,2},{199,19800,19801,2},{271,36720,36721,2},{349,60900,60901,2},{379,71820,71821,2},{409,83640,83641,2},{449,100800,100801,2},{461,106260,106261,2},{521,135720,135721,2},{569,161880,161881,2},{571,163020,163021,2},{631,199080,199081,2},{641,205440,205441,2},{661,218460,218461,2},{739,273060,273061,2},{751,282000,282001,2},{821,337020,337021,2},{881,388080,388081,2},{929,431520,431521,2},{991,491040,491041,2},{1031,531480,531481,2},{1039,539760,539761,2},{1051,552300,552301,2},{1069,571380,571381,2},{1091,595140,595141,2},{1129,637320,637321,2},{1151,662400,662401,2},{1171,685620,685621,2},{1181,697380,697381,2},{1361,926160,926161,2},{1439,1035360,1035361,2},{1459,1064340,1064341,2},{1489,1108560,1108561,2},{1499,1123500,1123501,2},{1531,1171980,1171981,2},{1709,1460340,1460341,2},{1741,1515540,1515541,2},{1811,1639860,1639861,2},{1831,1676280,1676281,2},{1901,1806900,1806901,2},{1949,1899300,1899301,2}}
复制代码
按照这个输出结果,似乎(a,b,c)中,b+1=c,似乎只能这个情况!但是我还是没办法证明!
|