diff --git a/extra/project-euler/001/001.factor b/extra/project-euler/001/001.factor index 843f8b87ba..344b0f1209 100644 --- a/extra/project-euler/001/001.factor +++ b/extra/project-euler/001/001.factor @@ -19,8 +19,17 @@ IN: project-euler.001 ! Inclusion-exclusion principle + + : euler001 ( -- answer ) - 0 999 3 sum 0 999 5 sum + 0 999 15 sum - ; + 999 3 sum-divisible-by + 999 5 sum-divisible-by + + 999 15 sum-divisible-by - ; ! [ euler001 ] 100 ave-time ! 0 ms run / 0 ms GC ave time - 100 trials @@ -30,9 +39,16 @@ IN: project-euler.001 ! ------------------- : euler001a ( -- answer ) - 1000 [ dup 5 mod swap 3 mod [ zero? ] either? ] filter sum ; + 0 999 3 sum 0 999 5 sum + 0 999 15 sum - ; ! [ euler001a ] 100 ave-time ! 0 ms run / 0 ms GC ave time - 100 trials + +: euler001b ( -- answer ) + 1000 [ dup 5 mod swap 3 mod [ zero? ] either? ] filter sum ; + +! [ euler001b ] 100 ave-time +! 0 ms run / 0 ms GC ave time - 100 trials + MAIN: euler001