]> gitweb.factorcode.org Git - factor.git/commitdiff
Update problems list and simplify code
authorSamuel Tardieu <sam@rfc1149.net>
Fri, 28 Dec 2007 13:52:11 +0000 (14:52 +0100)
committerSamuel Tardieu <sam@rfc1149.net>
Fri, 28 Dec 2007 13:53:26 +0000 (14:53 +0100)
extra/project-euler/project-euler.factor

index c35101785a7b9bebd2bc357a624bd7a5a8cedcff..601acb70b5c5baa0f8a2b83b9333a2689873daca 100644 (file)
@@ -1,11 +1,14 @@
 ! Copyright (c) 2007 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: io io.files kernel math.parser namespaces sequences strings
-    vocabs vocabs.loader system project-euler.ave-time
+USING: definitions io io.files kernel math.parser sequences strings
+    vocabs vocabs.loader
     project-euler.001 project-euler.002 project-euler.003 project-euler.004
     project-euler.005 project-euler.006 project-euler.007 project-euler.008
     project-euler.009 project-euler.010 project-euler.011 project-euler.012
-    project-euler.013 project-euler.014 project-euler.015 project-euler.016 ;
+    project-euler.013 project-euler.014 project-euler.015 project-euler.016
+    project-euler.017 project-euler.018 project-euler.019
+    project-euler.067
+    project-euler.134 ;
 IN: project-euler
 
 <PRIVATE
@@ -15,22 +18,16 @@ IN: project-euler
     print readln string>number ;
 
 : number>euler ( n -- str )
-    number>string string>digits 3 0 pad-left [ number>string ] map concat ;
-
-: solution-path ( n -- str )
-    number>euler dup [
-        "project-euler" vocab-root ?resource-path %
-        os "windows" = [
-            "\\project-euler\\" % % "\\" % % ".factor" %
-        ] [
-            "/project-euler/" % % "/" % % ".factor" %
-        ] if
-    ] "" make ;
+    number>string 3 CHAR: 0 pad-left ;
+
+: solution-path ( n -- str/f )
+    number>euler "project-euler." swap append vocab where
+    dup [ first ?resource-path ] when ;
 
 PRIVATE>
 
 : problem-solved? ( n -- ? )
-    solution-path exists? ;
+    solution-path ;
 
 : run-project-euler ( -- )
     problem-prompt dup problem-solved? [