Pandigital prime: Difference between revisions
Content added Content deleted
(→{{header|Ruby}}: Add Ruby) |
(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}}== |