Prime numbers whose neighboring pairs are tetraprimes: Difference between revisions

Content added Content deleted
m (→‎{{header|Pascal}}: added Free in Free Pascal)
(→‎{{header|XPL0}}: Change average to median)
Line 1,387: Line 1,387:
Maximum gap between those 10,551 primes : 10,284
Maximum gap between those 10,551 primes : 10,284
</pre>
</pre>



=={{header|XPL0}}==
=={{header|XPL0}}==
Works on Raspberry Pi.
<syntaxhighlight lang "XPL0">include xpllib; \for Print
<syntaxhighlight lang "XPL0">include xpllib; \for IsPrime, Sort, and Print

func Median(A, Len); \Return median value of (sorted) array A
int A, Len, M;
[M:= Len/2;
return if rem(0) then A(M) else (A(M-1) + A(M)) / 2;
];


int Have7; \A tetraprime factor is 7
int Have7; \Boolean: a tetraprime factor is 7


proc IsTetraprime(N); \Return 'true' if N is a tetraprime
func IsTetraprime(N); \Return 'true' if N is a tetraprime
int N;
int N;
int Div, Count, Distinct;
int Div, Count, Distinct;
Line 1,412: Line 1,420:
];
];


int Sign, TenPower, TP, Case, N, N0, Count, Count7, Gap, GapMin, GapMax, GapSum;
int Sign, TenPower, TP, Case, N, N0, Count, Count7, Gaps;
[Sign:= -1; TenPower:= 100_000;
[Sign:= -1; TenPower:= 100_000;
for TP:= 5 to 7 do
for TP:= 5 to 7 do
[for Case:= 1 to 2 do \preceding or following neighboring pairs
[for Case:= 1 to 2 do \preceding or following neighboring pairs
[Count:= 0; Count7:= 0; N0:= 0; GapMin:= -1>>1; GapMax:= 0; GapSum:= 0;
[Count:= 0; Count7:= 0; N0:= 0; Gaps:= 0;
if TP = 5 then CrLf(0); \100_000
if TP = 5 then CrLf(0); \100_000
for N:= 3 to TenPower-1 do
for N:= 3 to TenPower-1 do
Line 1,430: Line 1,438:
if Have7 then Count7:= Count7+1;
if Have7 then Count7:= Count7+1;
if N0 # 0 then
if N0 # 0 then
[Gap:= N - N0;
[Gaps:= ReallocMem(Gaps, Count*4); \4 = SizeOfInt
if Gap < GapMin then GapMin:= Gap;
Gaps(Count-2):= N - N0;
if Gap > GapMax then GapMax:= Gap;
GapSum:= GapSum + Gap;
];
];
N0:= N;
N0:= N;
Line 1,440: Line 1,446:
N:= N+1;
N:= N+1;
];
];
Sort(Gaps, Count-1);
Print("\nFound %,d primes under %,d whose neighboring pair are tetraprimes\n",
Print("\nFound %,d primes under %,d whose neighboring pair are tetraprimes\n",
Count, TenPower);
Count, TenPower);
Print("of which %,d have a neighboring pair, one of whose factors is 7.\n\n",
Print("of which %,d have a neighboring pair, one of whose factors is 7.\n\n",
Count7);
Count7);
Print("Minimum gap between %d primes : %,d\n", Count, GapMin);
Print("Minimum gap between %,d primes : %,d\n", Count, Gaps(0));
Print("Average gap between %d primes : %,d\n", Count,
Print("Median gap between %,d primes : %,d\n", Count, Median(Gaps, Count-1));
fix(float(GapSum)/float(Count-1)));
Print("Maximum gap between %,d primes : %,d\n", Count, Gaps(Count-2));
Print("Maximum gap between %d primes : %,d\n", Count, GapMax);
Sign:= Sign * -1;
Sign:= Sign * -1;
];
];
Line 1,465: Line 1,471:


Minimum gap between 49 primes : 56
Minimum gap between 49 primes : 56
Average gap between 49 primes : 1,891
Median gap between 49 primes : 1,208
Maximum gap between 49 primes : 6,460
Maximum gap between 49 primes : 6,460


Line 1,477: Line 1,483:


Minimum gap between 46 primes : 112
Minimum gap between 46 primes : 112
Average gap between 46 primes : 2,004
Median gap between 46 primes : 1,460
Maximum gap between 46 primes : 10,284
Maximum gap between 46 primes : 10,284


Line 1,484: Line 1,490:


Minimum gap between 885 primes : 4
Minimum gap between 885 primes : 4
Average gap between 885 primes : 1,119
Median gap between 885 primes : 756
Maximum gap between 885 primes : 7,712
Maximum gap between 885 primes : 7,712


Line 1,491: Line 1,497:


Minimum gap between 866 primes : 4
Minimum gap between 866 primes : 4
Average gap between 866 primes : 1,146
Median gap between 866 primes : 832
Maximum gap between 866 primes : 10,284
Maximum gap between 866 primes : 10,284


Line 1,497: Line 1,503:
of which 5,176 have a neighboring pair, one of whose factors is 7.
of which 5,176 have a neighboring pair, one of whose factors is 7.


Minimum gap between 10815 primes : 4
Minimum gap between 10,815 primes : 4
Average gap between 10815 primes : 924
Median gap between 10,815 primes : 648
Maximum gap between 10815 primes : 9,352
Maximum gap between 10,815 primes : 9,352


Found 10,551 primes under 10,000,000 whose neighboring pair are tetraprimes
Found 10,551 primes under 10,000,000 whose neighboring pair are tetraprimes
of which 5,069 have a neighboring pair, one of whose factors is 7.
of which 5,069 have a neighboring pair, one of whose factors is 7.


Minimum gap between 10551 primes : 4
Minimum gap between 10,551 primes : 4
Average gap between 10551 primes : 947
Median gap between 10,551 primes : 660
Maximum gap between 10551 primes : 10,284
Maximum gap between 10,551 primes : 10,284
</pre>
</pre>