Skip to content

Instantly share code, notes, and snippets.

@samueltardieu
Created November 27, 2010 01:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samueltardieu/717457 to your computer and use it in GitHub Desktop.
Save samueltardieu/717457 to your computer and use it in GitHub Desktop.
USING: hash-sets kernel locals math sequences sets ;
IN: acm
:: add ( set n -- newset )
HS{ } clone :> newset
set members [ n [ + ] [ - ] 2bi [ newset adjoin ] bi@ ] each newset ;
:: least ( n -- x )
HS{ 0 } 1 [ [ add n over in? ] keep swap ] [ 1 + ] until nip ;
( scratchpad ) 12 least .
7
( scratchpad ) 21 least .
6
( scratchpad ) 100000 least .
447
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment