Update problems list and simplify code
parent
a680c3abc5
commit
483028cc51
|
@ -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 ;
|
||||
number>string 3 CHAR: 0 pad-left ;
|
||||
|
||||
: solution-path ( n -- str )
|
||||
number>euler dup [
|
||||
"project-euler" vocab-root ?resource-path %
|
||||
os "windows" = [
|
||||
"\\project-euler\\" % % "\\" % % ".factor" %
|
||||
] [
|
||||
"/project-euler/" % % "/" % % ".factor" %
|
||||
] if
|
||||
] "" make ;
|
||||
: 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? [
|
||||
|
|
Loading…
Reference in New Issue