Truncatable primes: Difference between revisions

Line 839:
[
((n mod:f == 0) || (n mod:(f + 2) == 0))
? [ ^ false. ].
f := f + 6.
]. f := f + 6.
].
^ true.
]
Line 850 ⟶ 847:
#method is &rightTruncatable
[
#var(type:int)n := self int.
#loop (n != 0)?
[
(n is &prime)
! [ ^ false. ].
n := n / 10.
].
Line 865 ⟶ 860:
[
#var(type:int)n := self int.
#var(type:int)tens := 1.
#loop (tens < n)
? [ tens := tens * 10. ].
Line 874 ⟶ 868:
(n is &prime)
! [ ^ false. ].
 
tens := tens / 10.
n := n - (n / tens * tens).
Line 887 ⟶ 880:
#var max_lt := 0.
#var max_rt := 0.
 
#loop ((max_lt == 0) || (max_rt == 0))?
[
Line 893 ⟶ 885:
[
((max_lt == 0) and:[ n is &leftTruncatable ])
? [ max_lt := n. ].
max_lt := n.
].
((max_rt == 0) and:[ n is &rightTruncatable ])
? [ max_rt := n. ].
max_rt := n.
].
].
n := n - 1.
Anonymous user