素数系列,间隔是100,200,300,...100*n
寻找最长的n值,使得素数系列是间隔100,200,300,400...直到100*n31,131, 331, 631, 1031, 1531, 2131, 2831
PrimeSequenceArithmetic := proc(p, step_base, max_steps)
local k, current, sum_step, terms;
if not isprime(p) then
error "%1 不是素数", p;
end if;
terms := ;
sum_step := 0;
for k from 1 to max_steps do
sum_step := sum_step + step_base * k;# 间隔为100, 200, 300...
current := p + sum_step;
if isprime(current) then
terms := ;
else
break;
end if;
end do;
return terms;
end proc;
FindLongestArithmeticInRange := proc(min_p, max_p, step_base, max_steps)
local p_list, p, current_seq, len, max_len, best_p;
p_list := select(isprime, );
if numelems(p_list) = 0 then
printf("范围 %a-%a 内无素数\n", min_p, max_p);
return ;
end if;
max_len := 0;
best_p := NULL;
for p in p_list do
current_seq := PrimeSequenceArithmetic(p, step_base, max_steps);
len := nops(current_seq);
if len > max_len then
max_len := len;
best_p := p;
end if;
end do;
printf("范围 %a-%a 内最长算术间隔序列:起始素数=%a,长度=%a\n",
min_p, max_p, best_p, max_len);
return ;
end proc;
ArithmeticSegmentAnalysis := proc(ranges::list, step_base, max_steps)
local i, range_data, result;
for i from 1 to numelems(ranges) do
if numelems(ranges) <> 2 then
error "范围参数格式错误,需要形如[, ]";
end if;
range_data := ranges;
printf("\n===== 正在分析范围 %a-%a (步长基数=%a) =====\n",
range_data, range_data, step_base);
result := FindLongestArithmeticInRange(range_data, range_data, step_base, max_steps);
end do;
end proc;
# 示例用法:搜索间隔为100*n的序列
ranges := [
, # 第一段:3到10000
, # 第二段:10001到100000
# 第三段:100001到1000000
];
# 运行分析(步长基数=100,最多10步)
ArithmeticSegmentAnalysis(ranges, 100, 10);
# 单独测试特定起始素数
# test_seq := PrimeSequenceArithmetic(7, 100, 10);
# print("测试序列:", test_seq);
运行结果:
起始素数=31,长度=7
起始素数=69163,长度=9
起始素数=117673,长度=8 本帖最后由 数论爱好者 于 2025-5-7 15:11 编辑
1656283,长度10
1656283,1656383, 1656583, 1656883, 1657283, 1657783, 1658383, 1659083, 1659883, 1660783 g=Accumulate];n=3;Do,s=TakeWhile;d={Length@s,p,s};If]>n,Print;n=d[]]],{r,2,2*10^8}]
{4,7,{7,107,307,607}}
{5,13,{13,113,313,613,1013}}
{7,31,{31,131,331,631,1031,1531,2131}}
{8,53617,{53617,53717,53917,54217,54617,55117,55717,56417}}
{9,69163,{69163,69263,69463,69763,70163,70663,71263,71963,72763}}
{10,1656283,{1656283,1656383,1656583,1656883,1657283,1657783,1658383,1659083,1659883,1660783}}
{11,223502887,{223502887,223502987,223503187,223503487,223503887,223504387,223504987,223505687,223506487,223507387,223508387}}
{12,2283613699,{2283613699,2283613799,2283613999,2283614299,2283614699,2283615199,2283615799,2283616499,2283617299,2283618199,2283619199,2283620299}} 这个可以通过提前筛选减小搜索范围。
我们需要寻找p使得,p+k(k+1)/2对于一定范围的k都是素数,于是它们都不是小素数的倍数。首先p不能是2,5,然后对于所有其它小素数q,我们要求8p-1+(2k+1)^2都不是q的倍数,也就是8p-1不是q的平方剩余的相反数,所以每使用一个小素数q,大概可以淘汰一半左右的可能,于是比如我们使用模3*7*11*13*17*19*23,那么至少可以通过预先筛选提升百倍以上速度 {13,4013712511,{4013712511,4013712611,4013712811,4013713111,4013713511,4013714011,4013714611,4013715311,4013716111,4013717011,4013718011,4013719111,4013720311}} northwolves 发表于 2025-5-7 22:36
{13,4013712511,{4013712511,4013712611,4013712811,4013713111,4013713511,4013714011,4013714611,4013715 ...
步长基数100与式子50*n*(n+1)等价,其实是p+100, 300, 600, 1000, 1500, 2100, 2800, 3600...系列
步长基数200与式子100*n*(n+1)等价,其实是p+200, 600, 1200, 2000, 3000, 4200, 5600, 7200, 9000...系列
10万到100万中,
步长基数=200,初步找到长度=8,起始素数:158591
步长基数=300,150*n*(n+1)系列,长度=11,起始素数818099,
估计能够找到长度为20的数 数论爱好者 发表于 2025-5-8 01:32
步长基数100与式子50*n*(n+1)等价,其实是p+100, 300, 600, 1000, 1500, 2100, 2800, 3600...系列
步长基 ...
编写具有挑战性的代码:寻找连续素数的长度,只记录首个成立的长度,找到即记录,重复值的长度不记录,不验证,直接跳过寻找下一个长度.公式:k*n*(n+1)+p,公式k的取值范围暂定1到1万,n的取值范围可以到10^10,p为素数,取值可以到10^15-1.请输出k值,n值和p值 数论爱好者 发表于 2025-5-8 07:42
编写具有挑战性的代码:寻找连续素数的长度,只记录首个成立的长度,找到即记录,重复值的长度不记录,不验证, ...
理想很丰满,希望系统研究这一类型的规律,现实很骨感,代码不知跑到猴年马月.
降低要求,分类研究
先令k=1,古人的结果
n*(n+1)+5
n*(n+1)+11
n*(n+1)+17
n*(n+1)+41
令k=2,跑100万以内
最大长度17,发现:2*n*(n+1)+19
k=3,有待下回分解
这个3楼的代码稍改一下即可,跑1000万以内:
f:=(g=Table;l=3;sol={};For]+p],s=TakeWhile;d={n,p,s,Length@s};If]>l,sol=d;l=d[]]]];sol);Do],{n,30}]
{1,41,{41,43,47,53,61,71,83,97,113,131,151,173,197,223,251,281,313,347,383,421,461,503,547,593,641,691,743,797,853,911,971,1033,1097,1163,1231,1301,1373,1447,1523,1601},40}
{2,19,{19,23,31,43,59,79,103,131,163,199,239,283,331,383,439,499,563,631},18}
{3,23,{23,29,41,59,83,113,149,191,239,293,353,419,491,569,653,743,839,941,1049,1163,1283,1409},22}
{4,653,{653,661,677,701,733,773,821,877,941,1013,1093,1181,1277,1381,1493,1613,1741,1877},18}
{5,13,{13,23,43,73,113,163,223,293,373,463,563,673},12}
{6,31,{31,43,67,103,151,211,283,367,463,571,691,823,967,1123,1291,1471,1663,1867,2083,2311,2551,2803,3067,3343,3631,3931,4243,4567,4903},29}
{7,17,{17,31,59,101,157,227,311,409,521,647,787,941,1109,1291,1487,1697},16}
{8,31,{31,47,79,127,191,271,367,479,607,751,911,1087,1279,1487},14}
{9,43,{43,61,97,151,223,313,421,547,691,853,1033,1231,1447},13}
{10,557,{557,577,617,677,757,857,977,1117,1277},9}
{11,997,{997,1019,1063,1129,1217,1327,1459,1613,1789,1987,2207},11}
{12,239,{239,263,311,383,479,599,743,911,1103,1319,1559,1823,2111,2423},14}
{13,4001,{4001,4027,4079,4157,4261,4391,4547,4729,4937,5171,5431,5717,6029,6367},14}
{14,2383,{2383,2411,2467,2551,2663,2803,2971,3167,3391,3643,3923,4231,4567,4931,5323,5743},16}
{15,17,{17,47,107,197,317,467,647,857,1097,1367,1667,1997,2357},13}
{16,2485547,{2485547,2485579,2485643,2485739,2485867,2486027,2486219,2486443,2486699,2486987,2487307,2487659,2488043},13}
{17,607,{607,641,709,811,947,1117,1321,1559,1831,2137,2477,2851,3259,3701,4177},15}
{18,67391,{67391,67427,67499,67607,67751,67931,68147,68399,68687,69011,69371,69767,70199,70667,71171,71711,72287},17}
{19,1409,{1409,1447,1523,1637,1789,1979,2207,2473,2777,3119,3499,3917,4373},13}
{20,43,{43,83,163,283,443,643,883,1163,1483},9}
{21,6577,{6577,6619,6703,6829,6997,7207,7459,7753,8089,8467,8887,9349},12}
{22,17,{17,61,149,281,457,677,941,1249,1601,1997,2437},11}
{23,1032373,{1032373,1032419,1032511,1032649,1032833,1033063,1033339,1033661,1034029,1034443,1034903,1035409},12}
{24,3193873,{3193873,3193921,3194017,3194161,3194353,3194593,3194881,3195217,3195601,3196033},10}
{25,47,{47,97,197,347,547,797,1097,1447,1847,2297,2797,3347,3947,4597,5297,6047},16}
{26,6397,{6397,6449,6553,6709,6917,7177,7489,7853,8269,8737,9257,9829,10453},13}
{27,19219,{19219,19273,19381,19543,19759,20029,20353,20731,21163,21649,22189,22783,23431,24133,24889},15}
{28,2523083,{2523083,2523139,2523251,2523419,2523643,2523923,2524259,2524651,2525099,2525603},10}
{29,810079,{810079,810137,810253,810427,810659,810949,811297,811703,812167,812689,813269,813907,814603},13}
{30,3253,{3253,3313,3433,3613,3853,4153,4513,4933,5413,5953,6553,7213,7933,8713},14}
页:
[1]