]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/project-euler/025/025.factor
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places...
[factor.git] / extra / project-euler / 025 / 025.factor
index 6d15a9f6ec89d136bdba730973568d6c6b198672..e381e323d15f3fa61b586d675d2c06585a585f98 100644 (file)
@@ -39,12 +39,12 @@ IN: project-euler.025
 ! Memoized brute force
 
 MEMO: fib ( m -- n )
-    dup 1 > [ 1- dup fib swap 1- fib + ] when ;
+    dup 1 > [ [ 1 - fib ] [ 2 - fib ] bi + ] when ;
 
 <PRIVATE
 
 : (digit-fib) ( n term -- term )
-    2dup fib number>string length > [ 1+ (digit-fib) ] [ nip ] if ;
+    2dup fib number>string length > [ 1 + (digit-fib) ] [ nip ] if ;
 
 : digit-fib ( n -- term )
     1 (digit-fib) ;
@@ -55,7 +55,7 @@ PRIVATE>
     1000 digit-fib ;
 
 ! [ euler025 ] 10 ave-time
-! 5237 ms run / 72 ms GC ave time - 10 trials
+! 5345 ms ave run time - 105.91 SD (10 trials)
 
 
 ! ALTERNATE SOLUTIONS
@@ -68,7 +68,7 @@ PRIVATE>
 <PRIVATE
 
 : digit-fib* ( n -- term )
-    1- 5 log10 2 / + phi log10 / ceiling >integer ;
+    1 - 5 log10 2 / + phi log10 / ceiling >integer ;
 
 PRIVATE>
 
@@ -76,6 +76,6 @@ PRIVATE>
     1000 digit-fib* ;
 
 ! [ euler025a ] 100 ave-time
-! 0 ms run / 0 ms GC ave time - 100 trials
+! 0 ms ave run time - 0.17 SD (100 trials)
 
-MAIN: euler025a
+SOLUTION: euler025a