]> gitweb.factorcode.org Git - factor.git/blob - extra/project-euler/203/203.factor
Merge branch 'master' of git://projects.elasticdog.com/git/factor
[factor.git] / extra / project-euler / 203 / 203.factor
1 USING: fry kernel math math.primes.factors sequences sets ;
2 IN: project-euler.203
3
4 : iterate ( n initial quot -- results ) swapd '[ @ dup ] replicate nip ; inline
5 : (generate) ( seq -- seq ) [ 0 prefix ] [ 0 suffix ] bi [ + ] 2map ;
6 : generate ( n -- seq ) 1- { 1 } [ (generate) ] iterate concat prune ;
7 : squarefree ( n -- ? ) factors duplicates empty? ;
8 : solve ( n -- n ) generate [ squarefree ] filter sum ;
9 : euler203 ( -- n ) 51 solve ;