Ormiston pairs: Difference between revisions

m
(added RPL)
 
(4 intermediate revisions by 2 users not shown)
Line 620:
Elapsed Time: 10.046 Sec.
 
</pre>
 
=={{header|EasyLang}}==
<syntaxhighlight>
maxn = 1000000
len sieve[] maxn
proc mksieve . .
max = sqrt len sieve[]
for d = 2 to max
if sieve[d] = 0
for i = d * d step d to len sieve[]
sieve[i] = 1
.
.
.
sieve[] &= 0
.
mksieve
func nextprim n .
repeat
n += 1
until sieve[n] = 0
.
return n
.
#
func digs n .
while n > 0
r += pow 10 (n mod 10)
n = n div 10
.
return r
.
print "First 30 Ormiston pairs:"
a = 2
repeat
b = a
db = da
a = nextprim a
until a > maxn
da = digs a
if da = db
cnt += 1
if cnt <= 30
write "(" & b & " " & a & ") "
.
.
.
print ""
print "Ormiston pairs up to million: " & cnt
</syntaxhighlight>
{{out}}
<pre>
First 30 Ormiston pairs:
(1913 1931) (18379 18397) (19013 19031) (25013 25031) (34613 34631) (35617 35671) (35879 35897) (36979 36997) (37379 37397) (37813 37831) (40013 40031) (40213 40231) (40639 40693) (45613 45631) (48091 48109) (49279 49297) (51613 51631) (55313 55331) (56179 56197) (56713 56731) (58613 58631) (63079 63097) (63179 63197) (64091 64109) (65479 65497) (66413 66431) (74779 74797) (75913 75931) (76213 76231) (76579 76597)
Ormiston pairs up to million: 382
</pre>
 
Line 800 ⟶ 856:
326,926 Ormiston pairs before 1,000,000,000
</pre>
 
=={{header|Haskell}}==
 
<syntaxhighlight lang=haskell>import Data.List (sort)
import Data.Numbers.Primes (primes)
 
---------------------- ORMISTON PAIRS --------------------
 
ormistonPairs :: [(Int, Int)]
ormistonPairs =
[ (fst a, fst b)
| (a, b) <- zip primeDigits (tail primeDigits),
snd a == snd b
]
 
primeDigits :: [(Int, String)]
primeDigits = (,) <*> (sort . show) <$> primes
 
--------------------------- TEST -------------------------
main :: IO ()
main =
putStrLn "First 30 Ormiston pairs:"
>> mapM_ print (take 30 ormistonPairs)
>> putStrLn "\nCount of Ormistons up to 1,000,000:"
>> print (length (takeWhile ((<= 1000000) . snd) ormistonPairs))</syntaxhighlight>
 
{{Out}}
<pre>First 30 Ormiston pairs:
(1913,1931)
(18379,18397)
(19013,19031)
(25013,25031)
(34613,34631)
(35617,35671)
(35879,35897)
(36979,36997)
(37379,37397)
(37813,37831)
(40013,40031)
(40213,40231)
(40639,40693)
(45613,45631)
(48091,48109)
(49279,49297)
(51613,51631)
(55313,55331)
(56179,56197)
(56713,56731)
(58613,58631)
(63079,63097)
(63179,63197)
(64091,64109)
(65479,65497)
(66413,66431)
(74779,74797)
(75913,75931)
(76213,76231)
(76579,76597)
 
Count of Ormistons up to 1,000,000:
382</pre>
 
=={{header|J}}==
Line 824 ⟶ 941:
+/isorm i.&.(p:inv) 1e7 NB. number of Ormiston pairs less than 1e7
3722</syntaxhighlight>
 
=={{header|jq}}==
{{works with|jq}}
2,083

edits