15 lines
597 B
Factor
15 lines
597 B
Factor
USING: arrays formatting fry io kernel math math.functions
|
|
math.order math.ranges prettyprint sequences ;
|
|
|
|
: eban? ( n -- ? )
|
|
1000000000 /mod 1000000 /mod 1000 /mod
|
|
[ dup 30 66 between? [ 10 mod ] when ] tri@ 4array
|
|
[ { 0 2 4 6 } member? ] all? ;
|
|
|
|
: .eban ( m n -- ) "eban numbers in [%d, %d]: " printf ;
|
|
: eban ( m n q -- o ) '[ 2dup .eban [a,b] [ eban? ] @ ] call ; inline
|
|
: .eban-range ( m n -- ) [ filter ] eban "%[%d, %]\n" printf ;
|
|
: .eban-count ( m n -- ) "count of " write [ count ] eban . ;
|
|
|
|
1 1000 1000 4000 [ .eban-range ] 2bi@
|
|
4 9 [a,b] [ [ 1 10 ] dip ^ .eban-count ] each
|