Erdős-primes: Difference between revisions

Added XPL0 example.
m (→‎{{header|C#|CSharp}}: Regularize header markup to recommended on category page)
(Added XPL0 example.)
Line 1,151:
 
The 7,875th Erdős prime is 999,721.
</pre>
 
=={{header|XPL0}}==
<lang XPL0>func IsPrime(N); \Return 'true' if N is prime
int N, I;
[if N <= 2 then return N = 2;
if (N&1) = 0 then \even >2\ return false;
for I:= 3 to sqrt(N) do
[if rem(N/I) = 0 then return false;
I:= I+1;
];
return true;
];
 
func Erdos(N); \Return 'true' if N is an Erdos prime
int N, F, K;
[if not IsPrime(N) then return false;
F:= 1; K:= 1;
while F < N do
[if IsPrime(N-F) then return false;
K:= K+1; F:= F*K;
];
return true;
];
 
int Cnt, N, SN;
[Format(5, 0);
Cnt:= 0; N:= 2;
repeat if Erdos(N) then
[RlOut(0, float(N));
Cnt:= Cnt+1;
if rem(Cnt/10) = 0 then CrLf(0);
];
N:= N+1;
until N >= 2500;
CrLf(0);
Text(0, "Found "); IntOut(0, Cnt); Text(0, " Erdos primes^m^j");
Cnt:= 1; N:= 3;
repeat if Erdos(N) then [Cnt:= Cnt+1; SN:= N];
N:= N+2;
until N >= 1_000_000;
Text(0, "The "); IntOut(0, Cnt);
Text(0, "th Erdos prime is indeed "); IntOut(0, SN); CrLf(0);
]</lang>
 
{{out}}
<pre>
2 101 211 367 409 419 461 557 673 709
769 937 967 1009 1201 1259 1709 1831 1889 2141
2221 2309 2351 2411 2437
Found 25 Erdos primes
The 7875th Erdos prime is indeed 999721
</pre>
772

edits