Files
8th/exercises/practice/largest-series-product/.meta/example.8th
2024-04-28 04:31:12 +08:00

22 lines
346 B
Plaintext

: digit? \ n -- T
'0 '9 between
;
: digits \ s -- a
( dup digit? if '0 n:- a:push else 2drop null break ;then ) a:new s:reduce
;
: slices \ a n -- a
( ' n:* 1 a:reduce ) rot 1 a:map+
;
: largest \ a -- n
' n:cmp a:sort -1 a:_@
;
: largest-product \ s n -- n
swap digits null? if nip ;then
slices null? if drop 1 ;then
largest
;