]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/project-euler/169/169.factor
factor: trim using lists
[factor.git] / extra / project-euler / 169 / 169.factor
index 90655149dc48b2e0dc1075f37ca4d0abb7b0b691..174fef12a2805c2114a1e521cdfe1c422c8d637b 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (c) 2007 Samuel Tardieu.
 ! See http://factorcode.org/license.txt for BSD license.
 IN: project-euler.169
-USING: combinators kernel math math.functions memoize ;
+USING: combinators kernel math math.functions project-euler.common ;
 
 ! http://projecteuler.net/index.php?section=problems&id=169
 
@@ -20,7 +20,7 @@ USING: combinators kernel math math.functions memoize ;
 ! 2 + 4 + 4
 ! 2 + 8
 
-! What is f(1025)?
+! What is f(10^25)?
 
 
 ! SOLUTION
@@ -30,13 +30,13 @@ MEMO: fn ( n -- x )
     {
         { [ dup 2 < ]  [ drop 1 ] }
         { [ dup odd? ] [ 2/ fn ] }
-        { [ t ]        [ 2/ [ fn ] [ 1- fn + ] bi + ] }
+        [ 2/ [ fn ] [ 1 - fn ] bi + ]
     } cond ;
 
 : euler169 ( -- result )
     10 25 ^ fn ;
 
 ! [ euler169 ] 100 ave-time
-! 0 ms run / 0 ms GC ave time - 100 trials
+! 0 ms ave run time - 0.2 SD (100 trials)
 
-MAIN: euler169
+SOLUTION: euler169