Paste: hailstone
Author: | ukl |
Mode: | factor |
Date: | Sat, 17 Jul 2010 07:55:32 |
Plain Text |
USING: kernel sequences math math.ranges arrays sorting ;
IN: hailstone
: (hs) dup odd? [ 3 * 1 + ] [ 2 / ] if ;
: hs dup [ dup 1 > ] [ (hs) dup ] produce nip swap prefix ;
: hs-seqs 0 [ 1 + dup 100000 <= ] [ dup hs ] produce nip ;
: to-num-len dup [ first ] dip length 2array ;
: longest hs-seqs [ to-num-len ] map sort-values last ;
: longest2 hs-seqs [ to-num-len ] [ 2array sort-values last ] map-reduce ;
: longest-in [1,b] [ hs to-num-len ] [ 2array sort-values last ] map-reduce ;
Author: | pruned |
Mode: | factor |
Date: | Sat, 17 Jul 2010 08:47:56 |
Plain Text |
: hs-step dup odd? [ 3 * 1 + ] [ 2 / ] if ;
: hs [ dup 1 > ] [ [ hs-step ] keep ] produce swap suffix ;
: longest iota [ hs length ] map [ supremum ] keep [ = ] with find 2array ;
10 5 ^ longest .
{ 77031 351 }
New Annotation