14 lines
290 B
Factor
14 lines
290 B
Factor
USING: combinators kernel math prettyprint ;
|
|
|
|
: sudan ( n x y -- z )
|
|
{
|
|
{ [ pick zero? ] [ nipd + ] }
|
|
{ [ dup zero? ] [ drop nip ] }
|
|
[
|
|
[ 2drop 1 - ]
|
|
[ 1 - sudan dup ]
|
|
[ 2nip + sudan ] 3tri
|
|
]
|
|
} cond ;
|
|
|
|
3 1 1 sudan .
|