Truncatable primes: Difference between revisions
Content added Content deleted
(Added Racket version) |
|||
Line 1,461: | Line 1,461: | ||
'''Sample Output''' |
'''Sample Output''' |
||
<pre>(998443, 739399)</pre> |
<pre>(998443, 739399)</pre> |
||
=={{header|Racket}}== |
|||
<lang racket> |
|||
#lang racket |
|||
(require math/number-theory) |
|||
(define (truncate-right n) |
|||
(quotient n 10)) |
|||
(define (truncate-left n) |
|||
(define s (number->string n)) |
|||
(string->number (substring s 1 (string-length s)))) |
|||
(define (contains-zero? n) |
|||
(member #\0 (string->list (number->string n)))) |
|||
(define (truncatable? truncate n) |
|||
(and (prime? n) |
|||
(not (contains-zero? n)) |
|||
(or (< n 10) |
|||
(truncatable? truncate (truncate n))))) |
|||
; largest left truncatable prime |
|||
(for/first ([n (in-range 1000000 1 -1)] |
|||
#:when (truncatable? truncate-left n)) |
|||
n) |
|||
; largest right truncatable prime |
|||
(for/first ([n (in-range 1000000 1 -1)] |
|||
#:when (truncatable? truncate-right n)) |
|||
n) |
|||
; Output: |
|||
998443 |
|||
739399 |
|||
</lang> |
|||
=={{header|REXX}}== |
=={{header|REXX}}== |