Substring primes: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: printed a better grid, made program more generic.) |
(Added XPL0 example.) |
||
Line 636: | Line 636: | ||
Total number of primality tests = 15 |
Total number of primality tests = 15 |
||
</pre> |
|||
=={{header|XPL0}}== |
|||
<lang XPL0>func IsPrime(N); \Return 'true' if N is a prime number |
|||
int N, I; |
|||
[if N <= 1 then return false; |
|||
for I:= 2 to sqrt(N) do |
|||
if rem(N/I) = 0 then return false; |
|||
return true; |
|||
]; |
|||
int Digit, Huns, Tens, Ones, N; |
|||
[Digit:= [0, 2, 3, 5, 7]; \leading zeros are ok |
|||
for Huns:= 0 to 4 do |
|||
for Tens:= 0 to 4 do |
|||
if Huns+Tens=0 or IsPrime(Digit(Huns)*10+Digit(Tens)) then |
|||
for Ones:= 1 to 4 do \can't end in 0 |
|||
[N:= Digit(Huns)*100 + Digit(Tens)*10 + Digit(Ones); |
|||
if N<500 & IsPrime(N) & IsPrime(Digit(Tens)*10+Digit(Ones)) then |
|||
[IntOut(0, N); ChOut(0, ^ )]; |
|||
]; |
|||
]</lang> |
|||
{{out}} |
|||
<pre> |
|||
2 3 5 7 23 37 53 73 373 |
|||
</pre> |
</pre> |