project-euler.186: merge next/advance.

windows-high-dpi
John Benediktsson 2018-02-14 19:38:37 -08:00
parent 700fc0367b
commit 3023f42aa4
2 changed files with 2 additions and 5 deletions

View File

@ -1,3 +1,3 @@
USING: project-euler.186 tools.test ; USING: project-euler.186 tools.test ;
[ 2325629 ] [ euler186 ] unit-test { 2325629 } [ euler186 ] unit-test

View File

@ -44,11 +44,8 @@ IN: project-euler.186
: <generator> ( -- lag ) : <generator> ( -- lag )
55 [1,b] [ (generator) ] map <circular> ; 55 [1,b] [ (generator) ] map <circular> ;
: advance ( lag -- )
[ [ 0 swap nth ] [ 31 swap nth ] bi + 1000000 rem ] keep circular-push ;
: next ( lag -- n ) : next ( lag -- n )
[ first ] [ advance ] bi ; [ [ first dup ] [ 31 swap nth ] bi + 1000000 rem ] keep circular-push ;
: 2unless? ( x y ?quot quot -- ) : 2unless? ( x y ?quot quot -- )
[ 2keep rot [ 2drop ] ] dip if ; inline [ 2keep rot [ 2drop ] ] dip if ; inline