Pandigital prime: Difference between revisions

Content added Content deleted
(Add Delphi lang)
Line 178: Line 178:
<pre>1..7: 7,652,413 21 ns
<pre>1..7: 7,652,413 21 ns
0..7: 76,540,231 24.5 ns</pre>
0..7: 76,540,231 24.5 ns</pre>

=={{header|Delphi|Delphi}}==
<lang csharp>
uses System.SysUtils, System.Classes, System.Math;
label nxt;
begin
for var sp := '0' to '1' do for var x := IfThen(sp = '1', 7654321, 76543210) downto 0 do
begin
var s := x.ToString;
for var ch := sp to '7' do if s.IndexOf(ch) < 0 then goto nxt;
if x mod 3 = 0 then goto nxt;
var i := 1;
repeat
if x mod (i + 4) = 0 then goto nxt; Inc(i, 4);
if x mod (i + 2) = 0 then goto nxt; Inc(i, 2);
until i * i >= x;
Writeln(Format('%s..7: %d', [sp, x])); Break; nxt:;
end;
readln;
end.
</lang>
{{out}}
<pre>
0..7: 76541302
1..7: 7654312
</pre>


=={{header|Factor}}==
=={{header|Factor}}==