June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -0,0 +1,27 @@
USING: grouping.extras kernel math math.parser math.ranges
math.text.utils prettyprint sequences sequences.extras
splitting ;
IN: rosetta-code.kaprekar
: digits ( n -- digits )
1 digit-groups reverse ;
: digit-pairs ( digits -- seq1 seq2 )
[ tail-clump ] [ head-clump ] bi [ 1 rotate ] dip ;
: digit-pairs>number-pairs ( seq1 seq2 -- seq1' seq2' )
[ [ 10 digits>integer ] map but-last ] bi@ ;
: remove-zeros ( seq1 seq2 -- seq1' seq2' )
[ [ 0 = ] split1-when drop ] bi@ ;
: kaprekar-pairs ( n -- seq1 seq2 )
digits digit-pairs digit-pairs>number-pairs remove-zeros ;
: kaprekar? ( n -- ? )
dup sq kaprekar-pairs [ + ] 2map member? ;
: main ( -- )
10000 [1,b) [ kaprekar? ] filter { 1 } prepend . ;
MAIN: main