]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/project-euler/055/055.factor
factor: trim using lists
[factor.git] / extra / project-euler / 055 / 055.factor
index bf1dd43b979acde78f78125aa9ee59d790454cb6..f82494b4df382ac6ffed13fee6c609e1614bd1eb 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.parser project-euler.common sequences ;
+USING: kernel math project-euler.common sequences ;
 IN: project-euler.055
 
 ! http://projecteuler.net/index.php?section=problems&id=55
@@ -45,12 +45,12 @@ IN: project-euler.055
 <PRIVATE
 
 : add-reverse ( n -- m )
-    dup number>digits reverse 10 digits>integer + ;
+    dup number>digits reverse digits>number + ;
 
 : (lychrel?) ( n iteration -- ? )
     dup 50 < [
         [ add-reverse ] dip over palindrome?
-        [ 2drop f ] [ 1+ (lychrel?) ] if
+        [ 2drop f ] [ 1 + (lychrel?) ] if
     ] [
         2drop t
     ] if ;
@@ -61,9 +61,9 @@ IN: project-euler.055
 PRIVATE>
 
 : euler055 ( -- answer )
-    10000 [ lychrel? ] count ;
+    10000 <iota> [ lychrel? ] count ;
 
 ! [ euler055 ] 100 ave-time
-! 1370 ms run / 31 ms GC ave time - 100 trials
+! 478 ms ave run time - 30.63 SD (100 trials)
 
-MAIN: euler055
+SOLUTION: euler055