From 94a1ef83567c4f63638f83b0dc328ef9c3291464 Mon Sep 17 00:00:00 2001 From: Aaron Schaefer Date: Tue, 15 Jul 2008 22:40:33 -0400 Subject: [PATCH] Alternative solution to Project Euler problem 1 --- extra/project-euler/001/001.factor | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) 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