]> gitweb.factorcode.org Git - factor.git/commitdiff
Use tri instead of repeated keeps for PE solutions
authorAaron Schaefer <aaron@elasticdog.com>
Sun, 10 Feb 2008 00:54:31 +0000 (19:54 -0500)
committerAaron Schaefer <aaron@elasticdog.com>
Sun, 10 Feb 2008 00:54:31 +0000 (19:54 -0500)
extra/project-euler/039/039.factor
extra/project-euler/075/075.factor

index 67578dc5f2534ad6ef47c2bd0f5fc831a33be1b2..ed86f5a8c11cc534df00cfbd9ce5786eccf7d12c 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: arrays combinators.lib kernel math math.ranges namespaces
-    project-euler.common sequences ;
+USING: arrays combinators.cleave combinators.lib kernel math math.ranges
+    namespaces project-euler.common sequences ;
 IN: project-euler.039
 
 ! http://projecteuler.net/index.php?section=problems&id=39
@@ -43,7 +43,7 @@ SYMBOL: p-count
 : (count-perimeters) ( seq -- )
     dup sum max-p < [
         dup sum adjust-p-count
-        [ u-transform ] keep [ a-transform ] keep d-transform
+        [ u-transform ] [ a-transform ] [ d-transform ] tri
         [ (count-perimeters) ] 3apply
     ] [
         drop
index 8399235c0dc5988e5a31f0f3deb10c769f8bc961..141a737305a3b5c7240e8a02b79eaac61ba9ead0 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: arrays combinators.lib kernel math math.ranges namespaces
-    project-euler.common sequences ;
+USING: arrays combinators.cleave combinators.lib kernel math math.ranges
+    namespaces project-euler.common sequences ;
 IN: project-euler.075
 
 ! http://projecteuler.net/index.php?section=problems&id=75
@@ -56,7 +56,7 @@ SYMBOL: p-count
 : (count-perimeters) ( seq -- )
     dup sum max-p < [
         dup sum adjust-p-count
-        [ u-transform ] keep [ a-transform ] keep d-transform
+        [ u-transform ] [ a-transform ] [ d-transform ] tri
         [ (count-perimeters) ] 3apply
     ] [
         drop